swing编程,我的面板里有很多控件我想让鼠标选中哪个哪个改变颜色当不选中的时候颜色恢复,怎么做?控件多
发布网友
发布时间:2022-04-29 18:46
我来回答
共2个回答
热心网友
时间:2023-10-05 03:18
可以让所有的控件都设置MouseListener,当鼠标进入组件时改变组件颜色,移出时改变回原来的颜色,给你个例子:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class FrameTest1 extends JFrame implements MouseListener{
JButton b=new JButton("按钮!");
JTextField l=new JTextField("标签!");
public FrameTest1(String name){
super(name);
b.setBackground(Color.white);
l.setBackground(Color.white);
add(b);
add(l);
b.addMouseListener(this);
l.addMouseListener(this);
}
public void mouseClicked(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {
((JComponent)e.getSource()).setBackground(Color.red);
}
public void mouseExited(MouseEvent e) {
((JComponent)e.getSource()).setBackground(Color.white);
}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
public static void main (String[] args) {
JFrame f=new FrameTest1("框架测试!");
f.setLayout(new FlowLayout());
f.setBackground(Color.lightGray);
f.setSize(400,400);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
热心网友
时间:2023-10-05 03:19
panel.getComponents()遍历面板组件, for循环每个加监听