2

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

Jframe新书的图片

4

2 回答 2

3

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

通常,详细信息窗口应该是一个对话框,并且可能是一个模态对话框。我建议您在模态 JDialog 中显示此信息,而不是在 JFrame 中。这样做会使从详细信息窗口中提取信息变得更加容易。

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

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

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

这与您当前的问题无关,并且应该对其解决方案几乎没有影响,除非您将“表单”硬编码为 JFrame,然后将其废弃并作为 JPanel 重新执行。

我建议:

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

有关 JOptionPane 解决方案的示例,包括从类似于您上面的窗口的多个字段请求信息的选项窗格,请参阅:


编辑
您在评论中声明:

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

请查看我上面列出的示例答案,因为您会看到它们不是“普通 JOptionPane”的示例,而是显示您创建的 GUI 的 JOptionPanes。就像在这个 GUI 显示之后很容易查询它的状态一样,在它显示之前通过setter方法设置GUI 的状态同样容易。

于 2013-07-13T12:52:39.087 回答
3

我的问题是如何获取用户在文本字段中输入的信息?我是否必须使用诸如吸气剂之类的东西,还是有更简单的方法

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

于 2013-07-13T12:52:43.297 回答