
import javax.swing.*
import java.awt.event.*
class ziti implements KeyListener
{JFrame jf
JComboBox jc
String[] kk={"隶书","楷体","黑体","宋体"}
String str="隶书"int k1=Font.PLAINint k2=16
ziti()
{jf=new JFrame("字体事件测试")
jc=new JComboBox(kk)
Container co=jf.getContentPane()
JPanel pp=new JPanel()
co.add(pp)
pp.setLayout(null)
pp.add(jc
jf.setSize(400,500)
jf.setLocation(50,50)
jf.setVisible (true)
jc.setBounds(10,100,100,30)
jc.addKeyListener(this)
}
public void keyTyped(KeyEvent e)
{ str=kk[jc.getSelectedIndex()]
}
public void keyPressed(KeyEvent e){}
public void keyReleased(KeyEvent e){}
}
public class cv1
{public static void main(String[] args)
{ new ziti()
}
}
基本上就是这么写的 里面加你要写的就好咯有什么问题你可以追问
1,为相应的控件设置KeyListener()的监听2,实现接口中的方法
3,主袭孝要重写keyPressed()这个方法
4,书写逻辑
5,见代码
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_1&&e.getKeyCode()==KeyEvent.VK_2){
System.out.println("1,2键被点击了。。。")
}
}ps,还可以自己写一个数组记喊禅源录每个按郑态键的状态,根据状态值进行逻辑处理。
给岁州野你的画布注册事件监乎喊听器:this.canvas.addKeyListener(this)//这是要加入的,
this.addKeyListener(this)
原因是因为,当你点击窗口内后,焦点就被 canvas 捕获了,
如果 canvas 没有注册键盘事件监听迹早器,它当然不能对键盘的事件作出反应.
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)