下面這個代碼不知道為什麼鼠標監聽器的動作實現不了。。。在線等!
package J_Fram;
import javax.swing.JButton;
import javax.swing.JFrame;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class J_Frame_MouseLisenter extends MouseAdapter{
JFrame f;
JButton red,blue,yellow;
public J_Frame_MouseLisenter() {
// TODO Auto-generated constructor stub
f = new JFrame("鼠標事件");
f.setLayout(new FlowLayout());
f.setBounds(400, 200, 300, 250);
red = new JButton("紅色");
red.addMouseListener(this);
f.add(red);
f.setVisible(true);
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
f.setBackground(Color.RED);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
J_Frame_MouseLisenter t= new J_Frame_MouseLisenter();
}
}
@Override
public void mouseClicked(MouseEvent e){//這個才是鼠標點擊事件
red.setBackground(Color.red);
f.getContentPane().setBackground(Color.blue);
}
調用JFrame或者Frame的 setBackground(Color color)方法設置後顯示出來的顏色。其實,你的想法是正確的,但是我想提醒你的是,你沒搞明白JFrame的顯示機制。在你直接調用這個方法後,你的確設置了背景顏色,而你看到的卻不是直接的JFrame或者Frame,而是JFrame.getContentPane().而JFrame上的contentPane默認是Color.WHITE的,所以,無論你對JFrame或者Frame怎麼設置背景顏色,你看到的都只是contentPane