我已经用纯文本或CLI构建了一个Java程序。现在我想在它上面构建一个GUI。 回到学校时,我只学会了如何围绕GUI构建一个程序,而不是程序周围的GUI。如何将GUI添加到完成的程序?
我该怎么做呢?
谢谢。
编辑:显然我被完全误解了。除了输入参数之外,我还拥有诸如进度信息和我在CLI模型中使用字符串显示的内容。我已经知道构建GUI和图形输入界面的基础知识。
我已经用纯文本或CLI构建了一个Java程序。现在我想在它上面构建一个GUI。 回到学校时,我只学会了如何围绕GUI构建一个程序,而不是程序周围的GUI。如何将GUI添加到完成的程序?
我该怎么做呢?
谢谢。
编辑:显然我被完全误解了。除了输入参数之外,我还拥有诸如进度信息和我在CLI模型中使用字符串显示的内容。我已经知道构建GUI和图形输入界面的基础知识。
在编写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中的EVERY命令采用“收集输入并将其传入某个管理器类”的格式,就可以开始制作GUI。在制作GUI时,可以调用与CLI中完全相同的方法,只需从GUI字段而不是CLI中获取数据即可!
已经很多年了,在重温之后,我终于明白了这个答案。 – drum 2018-01-05 02:51:22
要在Java中对GUI进行编码,最有可能需要使用内置的Swing
框架。
快速搜索 “的Java Swing教程”,就会发现很多有用的搜索结果,但这里有一些很好的资源,让你开始:
如果”对于进入Java GUI编程非常认真,那么我强烈建议你购买一个关于这个主题的book。
您可以从一些研究开始,尝试阅读http://docs.oracle.com/javase/tutorial/uiswing/,当您完成该任务时,在纸上制作一些您想实现的草图,然后合并你学到了什么:) – MadProgrammer 2012-07-30 21:19:48
哦,如果你已经从视图和主持人分离模型,那么你只需要通过GUI视图交换CLI视图;) – 2012-07-30 21:22:11
“学会了如何围绕GUI而不是GUI来构建程序围绕着这个计划“ - 会不会有更多的学校帮助你划分两个经常是非常独立的问题。 – 2012-07-30 21:37:53