2012-01-07 126 views
0

我对挥杆很陌生,在处理JFrame时遇到问题,所以我想你们可以帮忙。如何使用Swing创建简单的Java表单?

我想使一个简单的窗口显示3个文本字段和一个复选框。在底部应该有一个“完成”按钮来关闭表单。

我可以让JFrameJTextField S和JCheckBox,但我怎么检索输入?

在此先感谢

+1

考虑使用'JDialog'而不是'JFrame'。任何结束*“在底部应该有一个”完成“按钮,它关闭了窗体”*强烈地向我建议一个对话框。 – 2012-01-08 02:37:55

回答

2

正如Swing tutorial说,你可以将ActionListener添加到JButton,当按钮被按下,这将被调用。

为了取回JTextField的文本,使用JTextField#getText()方法

要确定JCheckBox是否实际选择,使用JCheckBox#isSelected()方法

但是一个很好的出发点读Swing tutorial from the start

+0

谢谢,但我如何获得复选框输入?有什么办法让它作为一个布尔值?我刚刚学会了如何制作复选框,但对它们一无所知 – 2012-01-07 19:23:46

+0

@MeshulamSilk我刚更新了我的答案,因为我看到我错过了'JCheckBox' – Robin 2012-01-07 19:25:13

+0

谢谢!我会检查出这个链接,找出如何添加一个actionlistener到按钮,我应该很好去! – 2012-01-07 19:27:00

1

如果你会发布一些代码来显示你的JFrame,那么我会给你一个更具体的例子。

一般而言,您将拥有一个扩展了JFrame,JDialog等的类。在该类中,您将拥有获取和设置表单上控件值的getter和setter。

在你的情况下,点击“完成”后,你可以在“完成”按钮或框架本身(监听关闭事件)上获取监听器,从表单中检索值并对其执行操作。

如果这不明确,请发布一些代码,也许我可以给你一个具体的例子。

1
public class MyFrame extends JFrame { 

    private JTextField textField = new JTextField(); 
    private JButton doneBtn = new JButton("Done"); 

    // rest of your form 
} 

如果你想在按下doneBtn拿到textField的内容,你需要一个事件侦听器 附加到按钮:

public class MyFrame extends JFrame { 

    private JTextField textField = new JTextField(); 
    private JButton doneBtn = new JButton("Done"); 

    public MyFrame() { 
     // Here we attach an event listener to the button. 
     // Whenever you press the button, the code inside actionPerformed will be executed 
     doneBtn.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent ae) { 
       System.out.println(textField.getText()); // Or do whatever you like 
      } 
     }); 
    } 

    // rest of your form 
} 

但是,说实话,你应该学会这个你自己。如果你还没有阅读关于复选框的教程,当然你不会知道它们是如何工作的。先阅读,如果您有问题,请寻求帮助。你还没有读够,但你问的问题。

+0

我其实确实环顾四周,但我找不到足够清晰的解释,让我知道该怎么做。我知道我可以从愿意帮助这里的人找到一个很好的答案,所以我来了,我得到了我的答案。谢谢你的帮助,如果我浪费了你的时间,我很抱歉。 – 2012-01-07 19:39:32

+0

不客气,不,你没有浪费我的时间。但是,这在我见过的所有Swing书籍中都有解释。 – Behrang 2012-01-07 19:46:25

+0

啊......嗯,我还在上学,我正在制作一个游戏(涉及这个表格)作为一个额外点的副项目。我们不需要知道教育部门通过Swing来传递计算机科学,因此了解它的唯一地方就是互联网(英文的Java书很难在这里找到)。 下次我出国时,我会确保购买某种书。有什么建议么? – 2012-01-07 20:08:03