从文本字段获取信息JFrame表单在不同的类中

时间:2013-07-13 12:49:01

标签: java swing user-interface netbeans textfield

好的,我正在制作一个图书管理员程序,我创建了一个特殊的框架,用户可以在其中输入有关新书的详细信息。但是,我添加新书的方法是在一个单独的类(方法)中。我的问题是如何获取用户在文本字段中输入的信息?我是否必须使用吸气剂之类的东西,或者是否有更简单的方法。还要记住,我在netbeans中使用GUI布局(事物),并且我已经实际制作了表单。 (我知道这令人不悦,但我时间紧迫,这就是我们被教导的方式。)顺便说一句,这是一个学校项目。感谢。

Picture of the Jframe New book

2 个答案:

答案 0 :(得分:3)

  

好的,我正在制作一个图书管理员程序,我创建了一个特殊的框架,用户可以在其中输入有关新书的详细信息。

通常,细节窗口应该是对话框,可能是模态对话框。我建议您在模态JDialog中显示此信息,而不是JFrame。这样做,它将使详细信息窗口中的信息更多更容易。

  

但是我添加新书的方法是在一个单独的类(方法)中。我的问题是如何获取用户在文本字段中输入的信息?我是否必须使用像吸气剂这样的东西,或者是否有更简单的方法。

这引出了一个问题 - 使用getter有什么困难?事实上,他正是我建议您使用的!请注意,您的问题基本上归结为“如何从另一个类的对象中获取有关一个类的对象的状态的信息”,并且这个getter方法几乎是强制性的。

  

还要记住我在netbeans中使用GUI布局(thing),并且我已经实际制作了表单。 (我知道这令人不悦,但我时间紧迫,这就是我们被教导的方式。)顺便说一句,这是一个学校项目。

这与您当前的问题无关,除非您将“表单”硬编码为JFrame,然后将其废弃并重新将其作为JPanel重新编写,否则对其解决方案的影响不大。

我建议:

  • 创建addEditBook模式JDialog
  • 给它getter方法,允许外部类能够在其文本字段中查询其内容。
  • 显示主程序中的对话框。
  • 由于它是模态的,因此主程序的代码流将暂停,直到对话框被处理完毕。
  • 在“确定”和“取消”按钮中,设置对话框的状态(OK_STATE或CANCEL_STATE)并关闭对话框。实际上最简单的方法是使用 JOptionPane 作为模态对话框,因为它有这种东西的机制。如果你的addEditBook适合创建一个你在JOptionPane中显示的JPanel,这很容易实现。
  • 程序流程将在您显示对话框后立即在主程序中恢复
  • 在对话框中查询其字段的内容。

有关JOptionPane解决方案的示例,包括请求来自上述窗口的多个字段的信息的选项窗格,请参阅:


修改
您在评论中说明:

  

哦,我想知道如何让正常的JOptionpane输入对话框中的字段中出现一个单词,就像编辑它会显示已存储的信息一样?

请参阅上面列出的示例答案,因为您会发现它们不是“正常JOptionPane”的示例,而是显示您创建的GUI的JOptionPanes。就像在显示GUI之后查询GUI的状态一样容易,通过 setter < 设置 GUI的状态同样容易之前显示方法

答案 1 :(得分:3)

  

我的问题是如何获取用户输入的信息   文字字段?我是否必须使用吸气剂,或者是否有吸气剂   更简单的方法

您需要为您的按钮添加actionListeners,这意味着您将覆盖名为actionPerformed的方法。您基本上需要将actionListeners与“确定”和“取消”按钮相关联。按下“确定”按钮后,您应该在关联的actionPerformed方法中获得回调。然后你应该尝试使用getText方法获取textfiled的值。收集所有文件并设置您创建的bean来存储该数据。然后,您可以调用业务逻辑来保存/修改图书信息。