事件监听器一定要和GUI写进一个类里么?
发布网友
发布时间:2022-05-09 07:26
我来回答
共3个回答
热心网友
时间:2024-01-29 04:42
你可以参考我写的这个例子。不过注册者一定要用静态的。源代码放在同一目录的两个文件中就行了。
import java.awt.event.*;
import javax.swing.*;
public class ActionTest extends JFrame
{
public static JButton btn;
public static JLabel lbl;
public ActionTest()
{
JPanel p = new JPanel();
btn = new JButton("A");
lbl = new JLabel("jdfff");
btn.addKeyListener(new MyKeyListener());
p.add(btn);
p.add(lbl);
this.getContentPane().add(p);
this.pack();
}
public static void main(String[] args)
{
ActionTest at = new ActionTest();
at.setVisible(true);
at.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
import java.awt.event.*;
// import javax.swing.*;
public class MyKeyListener extends KeyAdapter
{
public void keyPressed(KeyEvent e)
{
if (e.getSource() == ActionTest.btn)
{
ActionTest.lbl.setText("按键");
}
}
}
热心网友
时间:2024-01-29 04:42
不一定要写在一个类里,
事件处理的对象在构造时可以把被监听的组件作为参数传进去,这样两者不就联系在一起了吗
热心网友
时间:2024-01-29 04:43
不用写一个类,主要是你要重载那个类里边的方法