簡體   English   中英

Java Swing鼠標偵聽器不起作用

[英]Java Swing mouse listener not working

我需要在SwingX JXDatePicker組件上激活一個MouseListener,使我能夠在用戶單擊該組件時執行特定的操作。 不幸的是,該事件從未觸發過。

因此,一小段代碼可以重現該問題:

 public class TestDummy4 extends JFrame implements MouseListener{ private static final long serialVersionUID = -2424758762078571430L; public TestDummy4(){ super(); this.getContentPane().setLayout(new BorderLayout()); //Adds date picker JXDatePicker dp = new JXDatePicker(); dp.getEditor().setEditable(false); dp.getEditor().setHighlighter(null); dp.addMouseListener(this); this.getContentPane().add(dp); this.pack(); this.setVisible(true); } public static void main(String[] args) throws IOException { javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { //Builds GUI new TestDummy4(); } }); } @Override public void mouseClicked(MouseEvent e) { System.out.println("Mouse clicked"); } @Override public void mousePressed(MouseEvent e) { System.out.println("Mouse pressed"); } @Override public void mouseReleased(MouseEvent e) {} @Override public void mouseEntered(MouseEvent e) { System.out.println("Mouse Entered"); } @Override public void mouseExited(MouseEvent e) {} } 

使用此代碼,單擊JXDatePicker時,控制台上沒有一行輸出。

任何幫助/提示將不勝感激! 湯瑪士

要將MouseListener添加到JXDatePicker's編輯器組件,請使用:

dp.getEditor().addMouseListener(this);

更新:要將ActionListener添加到組件的打開的JButton ,可以使用:

JButton openButton = (JButton) dp.getComponent(1); 
openButton.addActionListener(myActionListener);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM