使用javaawt创建GUI

使用javaawt创建GUI,java,user-interface,awt,Java,User Interface,Awt,因此,我想修改我的控制台应用程序以使用GUI(因为每次我想运行时在控制台中键入'java-jar'都很痛苦,我想使用JavaWebStart),但我甚至不完全确定从何处开始转换。下面是我的程序的工作原理 主文件如下所示: package vector; import java.io.*; public class Vector extends GameFile { public static void main(String[] args) throws IOExce

因此,我想修改我的控制台应用程序以使用GUI(因为每次我想运行时在控制台中键入'java-jar'都很痛苦,我想使用JavaWebStart),但我甚至不完全确定从何处开始转换。下面是我的程序的工作原理

主文件如下所示:

package vector;

import java.io.*;

public class Vector extends GameFile
{
    public static void main(String[] args)
        throws IOException
    {
        int gameMode = 1;       /*1: Return to title screen.
                                  2: Start a new game.
                                  3: Load from a checkpoint.
                                  4: Quit the game.*/
        while(true){
            switch(gameMode)
            {
            default:
                gameMode = intro.transition();
                break;
            case 2:
                eventHandler.next(gameMode);
                break;
            case 3:
                gameMode = ls.loadCheckpoint();
                eventHandler.next(gameMode);
                break;
            case 4:
                ut.print("Goodbye.");
                return;
            }
        }
    }
}
(ut.print是System.out.println快捷方式)

它与大多数其他文件一起扩展到GameFile之外:

package vector;

import iostream.*;
import util.*;
import pda.*;

public class GameFile {
    public static BasicUtils ut = new BasicUtils();
    public static IntroScreen intro = new IntroScreen();
    public static Checkpoint ls = new Checkpoint();
    public static EventHandler eventHandler = new EventHandler();
    public static ColdStorage events = new ColdStorage();
    public static PDA pda = new PDA();
}
这让我可以很容易地在代码中引用它们。以下是介绍屏幕的工作原理:

package iostream;

/*IMPORT RELEVANT FILES*/
import vector.*;

public class IntroScreen extends GameFile{

    public int transition(){
        ut.print("---    ---  ------------ ------------ ------------   --------   -----------  ");
        ut.print("***    ***  ************ ************ ************  **********  ***********  ");
        ut.print("---    ---  ----         ---          ------------ ----    ---- ----    ---  ");
        ut.print("***    ***  ************ ***              ****     ***      *** *********    ");
        ut.print("---    ---  ------------ ---              ----     ---      --- ---------    ");
        ut.print(" ********   ****         ***              ****     ****    **** ****  ****   ");
        ut.print("  ------    ------------ ------------     ----      ----------  ----   ----  ");
        ut.print("   ****     ************ ************     ****       ********   ****    **** ");
        ut.print("-----------------------------------------------------------------------------");
        ut.print("(1) BEGIN NEW GAME       -        (2) LOAD CHECKPOINT        -       (3) QUIT");
        int errsPrinted=0;
        while(true)
        {
            int menu;
            try {
                menu = ut.input.nextInt();
                switch(menu)
                {
                case 1:
                    return 2; // Start game.
                case 2:
                    return 3; // Load game.
                case 3:
                    return 4; // Quit game.
                }
            }
            catch(Exception e) {
                ut.print("That's not a valid option.");
                errsPrinted++;
                if(errsPrinted>9)
                {
                    return 4; // Quit game.
                }
            }

        }
    }
}

代码的其余部分没有太大区别;屏幕输入和打印快捷方式。但不知何故,我需要找出一种方法,将所有这些捆绑到一个GUI中,并能够从几个不同的文件对其进行操作。有没有人对如何开始这样做有什么建议?我有点不知所措。

因为每次我想运行时在控制台中键入“java-jar”都很痛苦,只需双击jar文件欢迎使用stackoverflow。请试着问一个具体的问题,这样你更有可能得到一个有意义的答案。有更多信息。如果您正在使用Eclipse,您可以图形化地创建用户界面,例如使用Windowbuilder,请参阅。@BackSlash:这不起作用。这就是为什么我必须在控制台中键入'java-jar',以及为什么我试图制作一个GUI,而不是在控制台中显示东西的原因?关于放弃使用AWT组件的许多好理由,请参见上的回答。如果需要支持较旧的基于AWT的API,请参阅。