gpt4 book ai didi

java - 如何将文本用户界面转换(或改编)为 GUI (Java)

转载 作者:行者123 更新时间:2023-11-29 03:51:43 25 4
gpt4 key购买 nike

我有一个大型 Java 项目(一个基于 SQL 的人事系统,使用 Java 6),它有一个相当复杂的文本界面。例如,在主类中,当用户选择人员选项时,它将调用以下代码:

    int choice = new Integer(line);
if(choice >= 1 && choice <= 13){
exit = false;
models[choice - 1].showMenu();
}

然后它最终调用 Person 类,其构造函数如下所示:

  public Person(Connection con){
conn = con;
item = "Person";
count = getLastID() + 1;
}

获取一个人所有信息的示例菜单选项如下所示:

  protected void queryGetAll(){
Statement stmnt = null;
// create prepared statement
try {
stmnt = conn.createStatement();
ResultSet result = stmnt.executeQuery("SELECT * FROM person");
System.out.println("");
System.out.println("");
System.out.println(" ***************** LIST OF ALL PERSONS ***************** ");
System.out.println("");
while(result.next()){
System.out.print(" ID: " + result.getString("per_id") + " | ");
System.out.print(" NAME: " + result.getString("name") + " | ");
System.out.print(" STREET: " + result.getString("street") + " | ");
System.out.print(" CITY: " + result.getString("city") + " | ");
System.out.print(" ZIP CODE: " + result.getString("zip_code") + " | ");
System.out.print(" E-MAIL: " + result.getString("email") + " | ");
System.out.println(" GENDER: " + result.getString("gender"));
}
System.out.println("");
System.out.println("");
stmnt.close();
} catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
}
}

我想使用 NetBeans 将整个 TUI 转换为 GUI,这使得 GUI 构建变得容易。问题是我不知道如何“抓取”结果,即我在此处的 GUI 代码中输入了什么:

this.textBox.setText("The person's information" + iDontKnowWhatsHere  );

这里有什么解决方法吗?如果可以获取默认情况下放在控制台上的内容,然后将其发送到 GUI 文本框,我会很乐意这样做。任何指导/提示表示赞赏,谢谢

最佳答案

我认为这里最合适的组件是JTable。

为表数据创建一个 Vector of String 作为列名和 Vector of Vector。Main Vector 包含行(也是 Vectors),每个 rowVector 都有所有行值。

然后根据模型创建一个DefaultTableModel和一个JTable(JTable也有构造函数来传递列和数据)

关于java - 如何将文本用户界面转换(或改编)为 GUI (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8462194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com