0

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

我该怎么做呢?

谢谢你。

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

4

2 回答 2

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 获取数据!

于 2012-07-30T21:27:55.910 回答
1

要使用 Java 编写 GUI,您很可能希望使用内置Swing框架。

快速搜索“Java Swing 教程”会发现许多有用的结果,但这里有一些很好的资源可以帮助您入门:

如果您对 Java GUI 编程很认真,那么我强烈建议您购买一有关该主题的书。

于 2012-07-30T21:29:41.487 回答