Java Swing中的键盘监听事件?

Java Swing中的键盘监听事件?,第1张

j.addKeyListener(new java.awt.event.KeyAdapter() {

publicvoid keyPressed(java.awt.event.KeyEvent evt) {

System.out.println("this evt:"+evt.getKeyChar())

}

})

import java.awt.*

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()

}

}

基本上就是这么写的 里面加你要写的就好咯有什么问题你可以追问

可运行下,看结果,对于一些特殊的键按下等,要进行转换。请对照键码表,进行转换。本程序只转换了"Shift","Ctrl","Alt"三个特殊键.

import java.awt.BorderLayout

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

import java.awt.event.KeyAdapter

import java.awt.event.KeyEvent

import javax.swing.JButton

import javax.swing.JFrame

import javax.swing.JPanel

import javax.swing.JScrollPane

import javax.swing.JTextArea

public class MyFrame2 extends JFrame{

private int FIELDSIZE = 40

JTextArea jt = null

public MyFrame2(){

setTitle("铵键监听")

setName("test")

setBounds(400, 200, 400, 400)

JPanel jp = new JPanel()

jt = new JTextArea(18,30)

jt.setSize(350, 380)

JButton jb = new JButton("清屏")

jt.setEditable(false)

jp.add(jt)

JScrollPane js = new JScrollPane(jp)

js.setAutoscrolls(true)

add(js,BorderLayout.CENTER)

add(jb,BorderLayout.SOUTH)

jb.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent arg0) {

jt.setText("")

}

})

jt.addKeyListener(new KeyAdapter(){

public void keyPressed(KeyEvent e) {

String chart = e.getKeyChar() + ""

int keycode = e.getKeyCode()

if(keycode==16){

chart = "Shift"

}else if(keycode==17){chart="Ctrl"}

else if(keycode==18){chart="Alt"}

jt.append("键盘\""+chart+"\"按下\n")

}

public void keyReleased(KeyEvent e) {

String chart = e.getKeyChar() + ""

int keycode = e.getKeyCode()//键盘按键对照码,要想看特殊键,可以对照下写

if(keycode==16){

chart = "Shift"

}else if(keycode==17){chart="Ctrl"}

else if(keycode==18){chart="Alt"}

jt.append("键盘\""+chart+"\"松开\n")

}

})

setDefaultCloseOperation(EXIT_ON_CLOSE)

setVisible(true)

}

public static void main(String[] args) {

new MyFrame2()

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11633917.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存