java - 将 GUI 添加到现有的基于 Java 控制台的程序

标签 java swing user-interface console

我一直在开发一个基于控制台的程序,该程序充当 Plant 对象的 list 。

我有一个父类“Plant”,它有“Flower”、“Weed”等子类...通过包含主要方法和操作方法的另一个类添加、删除、显示、搜索这些对象多于。

方法/操作由用户通过使用 switch 语句处理的控制台输入来选择。

我的问题是:我们正在使用 JFrame、JPanel 等向这个基于控制台的程序添加一个 GUI...解决这个问题的正确方法是为界面创建一个新类和一个新的 main 方法在那个类(class)运行程序?我当然会将以前的 main 方法更改为由新的 main 调用的方法。

最佳答案

从控制台程序迁移需要的不仅仅是更改 main 方法。 GUI 程序是事件驱动的。因此,您不会像在控制台程序中那样运行无限循环。

事件驱动的意思是,例如,一个按钮被按下,一个事件被触发。作为程序员,您负责编写触发该事件时发生的事情。

所以一些建议。

  • 你应该通过 tutorials并学习一些基本的components以及它们是如何工作的。一些基本的是JLabel、JTextField、JButton

  • 您肯定需要关注 how to write event listeners .您可能想要关注的一些基本内容是用于按钮按下的 ActionListener 用于鼠标事件的 MouseListener。

  • 应该学会layout out components correctly .您可能想要关注的一些基本布局是 GridLayout、BorderLayout 和 FlowLayout

  • 您想了解像 JFrame 这样的基本容器和 JPanel并了解他们的能力

Swing tutorials始终是一个很好的起点。一旦掌握了基础知识,就可以继续学习一些更复杂的 Material 。

关于java - 将 GUI 添加到现有的基于 Java 控制台的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23068745/

相关文章:

java - 在嵌入式 TomEE 8.0 中使用带有 OpenJPA 的实体管理器时出现神秘的 "org.apache.openjpa.persistence.PersistenceException: null"异常

Java KeyListener 的 keyReleased 左右箭头键不调用

java - 在Jframe中添加循环

java - 使用 JPasswordField 更改密码

java - 如何使 Java Canvas 看起来从其容器中升起

java - Swing 计时器 GUI 噩梦

java - K 项可以排列在 N 个槽中的所有可能方式

java - 有没有办法向下转型 GWT AutoBean?

java - Canvas/JPanel 未显示在 JFrame 上?

java - Mac OS High Sierra 上的 mailR send.mail Java 错误