2010-05-19 187 views
0

我在我的Java Swing應用程序中創建了一個帶有JButton的主窗口。我爲這個按鈕添加了一個事件監聽器類(實現ActionListener接口),每次單擊按鈕時,都會啓動一個「彈出式」窗口。 單擊按鈕時該方法正常工作,除非首次單擊該按鈕,因爲它什麼也不做。有沒有人知道背後的原因?有問題的JButton事件監聽器

+3

請編輯您的問題並添加您的代碼。我想你會得到更好的幫助。 – Pindatjuh 2010-05-19 21:03:03

回答

2

更簡單的方法可能是提供AbstractAction。你可以嘗試下面概述的方法。 (點擊按鈕時會彈出一個窗口。)

import java.awt.*; 
import java.awt.event.ActionEvent; 
import javax.swing.*; 
public class FrameTest { 
    public static void main(String[] args) { 
     JFrame jf = new JFrame("Demo"); 
     Container cp = jf.getContentPane(); 
     cp.setLayout(new FlowLayout()); 
     cp.add(new JButton(new AbstractAction("Button Text") { 
      public void actionPerformed(ActionEvent e) { 
       JOptionPane.showMessageDialog(null, "Hello World"); 
      } 
     })); 
     jf.setSize(200, 200); 
     jf.setVisible(true); 
    } 
} 
1

發佈事件處理程序的代碼以及如何將它附加到按鈕可能會有所幫助。您可能需要快速查看此Sun Tutorial