簡體   English   中英

開發Java應用啟動器

[英]Developing a Java Application Launcher

我將要開始開發一些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
  • 請改用JPanelJFrame因為它們是swing ,它將與您的其他Swing組件更兼容
  • 一般來說,不要不必要地混合使用swing和awt組件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM