我用Java编写了一个纯文本或CLI程序。现在我想在它上面构建一个GUI。 回到学校时,我只学习了如何围绕GUI构建程序,而不是围绕程序构建GUI。
我将如何这样做?
谢谢。
编辑:显然我完全被误解了。除了输入参数之外,还有我在CLI模型中使用字符串显示的进度信息和内容。我已经了解了构建GUI和图形输入界面的基础知识。答案 0 :(得分:3)
在编写GUI之前,请重构CLI,直到它没有做任何实际工作。也就是说,您在输入收集和数据操作之间存在明显的分离障碍。
例如,想象一下管理一些库存的CLI。这很糟糕:
if(command.equals("additem")) {
int itemNumber = Integer.parseInt(tokens[1]);
int quantity = Integer.parseInt(tokens[2]);
if(items.contains(itemNumber) { // exists, add to current
int currentQuantity = items.get(itemNumber);
int newQuantity = quantity + currentQuantity;
items.put(itemNumber,newQuantity);
} else { // doesn't exist, make new entry
items.put(itemNumber,quantity);
}
continue;
}
它做得很好。 CLI正在开展工作,而不是其他一些接口,这很糟糕。更好的方法是
if(command.equals("additem")) {
int itemNumber = Integer.parseInt(tokens[1]);
int quantity = Integer.parseInt(tokens[2]);
inventoryManager.addItem(itemNumber,quantity);
continue;
}
现在你的所有CLI都收集输入,并将该输入传递给某个管理器。
一旦CLI中的每个命令都采用“收集输入并将其传递到某个管理器类”的格式,您就可以创建GUI了。当您创建GUI时,您调用与CLI中完全相同的方法,只需从GUI字段而不是从CLI获取数据!
答案 1 :(得分:1)
要用Java编写GUI代码,您很可能希望使用内置的Swing
框架。
快速搜索“Java Swing教程”将揭示许多有用的结果,但这里有一些很好的资源可以帮助您入门:
如果您认真考虑进入Java GUI编程,那么我强烈建议您购买book这个主题。