2010-03-12 62 views
0

在Java中使用Swing我寫了一個包含單選按鈕,文本字段等的表單。最後我有一個「提交」按鈕。如何在Java中處理表單?

現在我想「發送」用戶給出的信息給程序。我怎麼做?有沒有一個很好的教程?

它有點像PHP嗎? (我問的只是因爲我知道如何在PHP中做到這一點。爲了避免混淆,我可能需要提到我不編程Web應用程序)。

回答

4

在Swing中處理數據與典型的Web REQUEST/RESPONSE範例有很大不同。

要了解一些您可能知道的內容,更多的是以HTML頁面中的Javascript操作方式:每次用戶執行操作時,都會發送一個或多個事件,並且應用程序開發人員可以根據它來更新應用程序內容。

在你的情況下,如果你註冊一個ActionListener到按鈕,它會在每次單擊按鈕時被調用。您將有可能執行任何您想要的操作。

但這還不是全部!

每次組件注重鍵盤,或接收鼠標時,都會發送事件,以及按鍵被按下時或小部件模型更新時。

我真的建議你閱讀Swing tutorial這樣的文檔(比我在一個月內可以做的更詳細)。

2

不完全確定「發送到程序」的含義。你在程序中,所以我假設你有一個呈現這個表單的對話框?只需將對話框傳遞給要用來存儲數據的對象即可。例如,你的對話框的構造函數可以接受一個參數。

public class MyDialog extends JPanel { 

    private UserInfo userInfo; 

    private JTextField name; 

    /** 
    * The main area of the dialog. 
    */ 
    protected JPanel panel; 

    public MyDialog(UserInfo userInfo) { 
    this.userInfo = userInfo; 
    } 

    public showDialog() { 

    // Some code to create the form which it looks like you already know how to do 

    // Create a name field 
    JLabel nameLabel = new JLabel("Name:"); 
    panel.add(nameLabel); 

    JButton submit = new JButton("Submit"); 
    submit.addActionListener(new ActionListener() { 
     public void actionPerformed (ActionEvent event) 
     { 
     this.userInfo.setName(name.getText().trim()); 
     } }); 
     panel.add(submit);  
    } 
}