2010-03-12 60 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);  
    } 
}