【发布时间】:2021-01-11 14:04:44
【问题描述】:
我有一个简单的 java swing 代码,当按钮悬停并单击时,文本字段会发生变化,但是当我使用变量停用 mouseExited 事件时,它不起作用并继续更改文本字段。我认为它与仅可用于 mouseClicked 事件的变量有关吗?我将如何解决这个问题。谢谢
我的导入是 java.awt 和 javax.swing
public static void main(String[] args) {
boolean check = true;
JFrame f =new JFrame("ActionListener Example");
JTextField tf = new JTextField("You should press button 1");
tf.setBounds(100,100, 150,20);
JButton b=new JButton("Click Here");
b.setBounds(50,100,60,30);
//2nd step
b.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
tf.setText("you did it");
boolean check = false;
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
tf.setText("DO IT!");
}
@Override
public void mouseExited(MouseEvent e) {
if (check) {
tf.setText("You should press the button");
}
}});
f.setLayout(new FlowLayout());
f.setSize(400,400);
f.add(b);
f.add(tf);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
【问题讨论】:
标签: java user-interface mouseevent mouseover mouseclick-event