开发Java应用程序启动器

开发Java应用程序启动器,java,jframe,jpanel,launcher,Java,Jframe,Jpanel,Launcher,我正准备开始开发一些Java应用程序,以便更好地了解该语言,对于我的第一个实际项目,我想制作一个应用程序,当它加载时,将提供两个不同的面板,更改日志(从Tumblr检索)另一个不是那么宽,它包含一个登录表单或按钮来启动应用程序,一旦用户启动了应用程序,它就会关闭启动器,然后打开主应用程序(如游戏)的JFrame 我曾经尝试过获得我的JFrame和类似的工作,但没有太大的成功。让这一切发生的最好方式是什么 当前代码 import java.awt.BorderLayout; import java

我正准备开始开发一些Java应用程序,以便更好地了解该语言,对于我的第一个实际项目,我想制作一个应用程序,当它加载时,将提供两个不同的面板,更改日志(从Tumblr检索)另一个不是那么宽,它包含一个登录表单或按钮来启动应用程序,一旦用户启动了应用程序,它就会关闭启动器,然后打开主应用程序(如游戏)的JFrame

我曾经尝试过获得我的
JFrame
和类似的工作,但没有太大的成功。让这一切发生的最好方式是什么

当前代码

import java.awt.BorderLayout;
import java.awt.Canvas;
import java.awt.Dimension;

import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Launcher extends Canvas {
private static final long serialVersionUID = 1L;
public static final int LAUNCHER_WIDTH = 350;
public static final int LAUNCHER_HEIGHT = 200;
public static final int LAUNCHER_SCALE = 3;
public static final String LAUNCHER_TITLE = "Launcher";

public static void main(String[] args) {
    Launcher l = new Launcher();

    JFrame f = new JFrame();

    JPanel c = new JPanel();
    JPanel u = new JPanel();
    JPanel s = new JPanel();    

    l.setPreferredSize(new Dimension(LAUNCHER_WIDTH * LAUNCHER_SCALE, LAUNCHER_HEIGHT * LAUNCHER_SCALE));
    l.setMinimumSize(new Dimension(LAUNCHER_WIDTH * LAUNCHER_SCALE, LAUNCHER_HEIGHT * LAUNCHER_SCALE));
    l.setMaximumSize(new Dimension(LAUNCHER_WIDTH * LAUNCHER_SCALE, LAUNCHER_HEIGHT * LAUNCHER_SCALE));

    c.setLayout(new BoxLayout(c, BoxLayout.X_AXIS));
    c.add(u);
    c.add(s);

    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setLayout(new BorderLayout());
    f.setTitle(LAUNCHER_TITLE);
    f.add(l, BorderLayout.CENTER);
    f.add(c);
    f.pack();
    f.setResizable(false);
    f.setLocationRelativeTo(null);
    f.setVisible(true);
}
}

有几点建议:

  • 对于您的
    Launcher()
    不要扩展
    Canvas
    ,因为这是
    java.awt
  • 改用
    JPanel
    JFrame
    ,因为它们是
    swing
    ,与其他swing组件更兼容
  • 一般来说,不要不必要地混合使用swing和awt组件

    • 有几点建议:

      • 对于您的
        Launcher()
        不要扩展
        Canvas
        ,因为这是
        java.awt
      • 改用
        JPanel
        JFrame
        ,因为它们是
        swing
        ,与其他swing组件更兼容
      • 一般来说,不要不必要地混合使用swing和awt组件

      当您运行此程序时会发生什么情况,您希望改进/更改什么?我的JFrame出现了,但大小没有显示出来,因为它是屏幕中央的一个小框,基本上从这里开始,我也希望为第一段中的所有内容构建一个工作:)当你运行这个程序时会发生什么,你想改进/改变什么?我的JFrame出现了,但大小没有注册,因为它是屏幕中央的一个小框,基本上从这里我也希望建立一个针对第一段中所有内容的工作!:)