2013-06-30 4 views
0

저는 Java 응용 프로그램을 개발하기 시작했습니다. 언어를 조금 더 잘 알 수있게되었습니다. 첫 번째 실제 프로젝트에서는로드 될 때 응용 프로그램을 만들고 싶습니다. Tumblr에서 가져온 get-change 로그와 응용 프로그램을 시작하기위한 로그인 폼이나 버튼이 포함 된 넓은 화면이 아닌 다른 두 개의 패널을 제공합니다. 사용자가 응용 프로그램을 시작하면 실행 프로그램을 종료 한 다음 게임과 같은 주요 애플리케이션을위한 JFrame을 엽니 다.Java 응용 프로그램 시작 프로그램 개발

나는 내 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); 
} 
} 
+0

어떻게됩니까 스윙과 AWT 구성 요소를 함께 사용하지 마십시오 일반적으로

  • 당신은 개선/변경을 요구합니까? –

  • +0

    내 JFrame이 나타나지만 크기가 등록되지 않습니다. 화면 가운데에있는 작은 상자이기 때문에 기본적으로 여기에서부터 첫 번째 단락의 모든 항목에 대한 작업을 구축하고 싶습니다. :) –

    답변

    3

    제안의 몇 :

    를 들어
    • 당신의 그 java.awt 같이 Launcher()Canvas을 연장하지 않습니다.
    • 는 사용이가 다른 스윙 구성 요소와 더 호환됩니다 swing 있습니다 대신 같은 JPanel 또는 JFrame이 무엇을 실행할 때 unecessarily
    +0

    오, 감사합니다. 그걸 내가 기억할거야! :) –