如何将GUI添加到已完成的程序?

时间:2012-07-30 21:18:00

标签: java swing user-interface

我用Java编写了一个纯文本或CLI程序。现在我想在它上面构建一个GUI。 回到学校时,我只学习了如何围绕GUI构建程序,而不是围绕程序构建GUI。

我将如何这样做?

谢谢。

编辑:显然我完全被误解了。除了输入参数之外,还有我在CLI模型中使用字符串显示的进度信息和内容。我已经了解了构建GUI和图形输入界面的基础知识。

2 个答案:

答案 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这个主题。