2014-03-02 66 views
0

我有這樣的Java代碼:JButton上的Java Actionlistener沒有名字?

public static void main(String[] args) throws IOException 
    { 
     JPanel panel = new JPanel(); 
     JFrame frame = new JFrame(); 

     frame.setLayout(new BorderLayout()); 
     frame.add(panel, BorderLayout.SOUTH); 

     panel.add(new Label("south")); 
     panel.add(new Button("Press here :)")); 


     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     frame.getContentPane().add(loader); 
     frame.getContentPane().addMouseListener(loader); 
     //frame.getContentPane().addMouseMotionListener(loader); 
     frame.pack(); 
     frame.repaint(); 
     frame.setVisible(true); 

     //Deleted some unimportant content 

     panel.setVisible(true); 
     panel.add("south", panel); 

     t.start(); 
    } 

所以我有這樣的框架,其具有一個按鈕,目前什麼都不做。我一直在網上尋找一個解決方案,但我不知道如何添加一個actionlistener的按鈕,因爲它沒有名字?就像我會怎樣告訴actionlistener按下哪個按鈕?除此之外,我相信我必須實施它,因此我認爲在主要方法中這樣做可能是一個壞主意?我只是想在將它移到其他課程或方法之前嘗試一下。

那麼,我希望你能提供一些建議或建議,提前致謝!

回答

5

讓我們看看這一行:

panel.add(new Button("Press here :)")); 

您創建一個新的按鈕,並把它傳遞給paneladd方法。如果你想要做什麼用的按鈕,如添加的ActionListener它,那麼首先創建按鈕,並將其分配給一個變量,它傳遞給panel.add前:

// Create a Button and assign it to a variable 
JButton button = new JButton("Press here :)"); 

// Add an action listener to the button 
button.addActionListener(...); 

// Add the button to the panel 
panel.add(button); 

這是基本的Java編程知識。有關如何使用對象和變量的更多信息,請參閱Oracle的教程,例如關於variables的教程。

+0

哦,是的,它的工作原理,非常感謝! – owwyess

+2

回答代碼中的'Button'變成'JButton'。 @PHPeter:請注意這一點,因爲這很重要。如果沒有充分的理由和良好的預見性,您不想混用Swing和AWT組件。 –

+0

好吧,明白! – owwyess