我有一個JPanel
使用BorderLayout
它有2個組件。在NORTH
中的JLabel
和在CENTER
中的JList
。Java - JPanel上的MouseListener未觸發
我已將一個MouseListener
添加到面板,並且目前編碼了一個消息框以顯示在mouseEntered
上。
問題是隻有當光標進入標籤佔用的區域時才觸發事件。當鼠標進入整個面板區域時,我需要觸發事件。
任何想法我做錯了什麼?
編輯:代碼來創建面板
JPanel p = new JPanel();
p.setLayout(new BorderLayout());
p.add(new JLabel("Label"), BorderLayout.NORTH);
p.add(new JList(), BorderLayout.CENTER);
p.addMouseListener(new MouseListener(){
@Override
public void mouseEntered(MouseEvent e) {
JOptionPane.showMessageDialog(null, "Entered Panel");
}
//Other overriden methods
...
});
「*讓我知道如果我需要顯示一些代碼。*」。是的,請包括[sscce](http://www.sscce.org)。 – mre
*「創建面板的代碼」*您難以理解SSCCE的哪一部分? –
所以你想要一個完整的程序?你能推薦我如何上傳它下載。 –