2011-01-28 69 views
0

我需要從UI(Swing)中爲我的類添加一個值,然後通過單擊按鈕啓動我的方法。我該怎麼辦?使用java swing

+0

閱讀搖擺的時間分配給它的文本字段的值教程瞭解如何編寫Swing代碼:http://download.oracle.com/javase/tutorial/uiswing/index.html。否則,如果你仍然陷入困境,你需要提供有關當前問題的更多細節,因爲你寫的問題有些模糊和過於籠統。 – 2011-01-28 06:38:30

回答

2

這裏有一個文本框和一個按鈕,點擊後,將獲得的文本價值的一個超級簡單的例子,那麼你就可以將所有的方法,你想傳遞的價值。

public class ButtonExample extends JPanel 
{ 
    private JTextField _text; 

    public ButtonExample() 
    { 
     _text = new JTextField(); 

     setLayout(new BorderLayout()); 
     add(_text, BorderLayout.NORTH); 
     add(new JButton(new CaptureTextAction()), BorderLayout.SOUTH); 
    } 

    private class CaptureTextAction extends AbstractAction 
    { 
     private CaptureTextAction() 
     { 
      super("Click Me"); 
     } 

     @Override 
     public void actionPerformed(ActionEvent ae) 
     { 
      String textToCapture = _text.getText(); 

      // do something interesting with the text 
     } 
    } 
} 
0

Swing只是您提供給應用程序的用戶界面。 它是這樣的.... 你有按鈕,面板和所有你需要提供適當的接口,這意味着如果你需要文字輸入你會把文本框或textarea的UI東西

swing應用程序基於事件,即基於控制檯和基於窗口的應用程序之間的基本區別,基於控制檯的應用程序是按順序編譯的,然後按順序執行代碼,但不考慮如何與它進行交互。另一方面,swing應用程序是基於事件的,直到任何事件被觸發並被捕獲,它將不會執行任何操作,在java中你只是處理事件,這意味着事件發生後會發生什麼是由程序員決定的。

假設有一個按鈕單擊事件火災和有附加到該元素則的actionPerformed函數被調用的監聽器,它是執行

假設你想從應用程序獲取用戶名

JButton btnSubmit = new JButton("Submit"); 
JTextField txtName = new JTextField("", 4); 

btnSubmit.addActionListener(new ActionListener(){ 
    public void actionPerformed(ActionEvent e){ 
    String name = txtName.getText();//see below for explanation 
    printInfo();//write the function call statements here if you want them to be executed when button is clicked 

} 
}); 

每當按鈕被點擊或更一般地任何事件上的按鈕時,然後它會在串池的字符串對象,並在當按鈕被點擊