私はゲームランチャーを作成しようとしています。このために、さまざまなレイアウトスタイルのJPanelsをいくつか用意しています。レイアウトスタイルがたくさんあり、彼らはすべて自分の長所と短所を持っているからです。 これは私が現時点で持っているものです。 複数のレイアウトスタイルでレイアウトを作成するにはどうすればいいですか
これは私がそれをやった方法です: これは、パネルのカップルが追加されているメインフレーム、です。
public Frame() {
main = new Background();
menuPane = new MenuPane();
main.setLayout(new BorderLayout());
add(main);
main.add(menuPane, BorderLayout.NORTH);
setTitle("DelusionX Launcher");
setSize(700, 500);
setUndecorated(true);
setVisible(true);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
}
これはこれは、メニューパネル
public MenuPane() {
this.setBackground(new Color(0, 0, 0, 0.5f));
this.setLayout(new BorderLayout());
minimizeBtn = new Button();
minimizeBtn.addActionListener(this);
minimizeBtn.setIcon(minimizeImg);
this.add(minimizeBtn, BorderLayout.EAST);
closeBtn = new Button();
closeBtn.addActionListener(this);
closeBtn.setIcon(closeImg);
this.add(closeBtn, BorderLayout.EAST);
}
で、あなたも私を見ることができるように、これはボタンオブジェクト
public Button() {
setBorderPainted(false);
setBorder(null);
setMargin(new Insets(0, 0, 0, 0));
setContentAreaFilled(false);
}
ある背景パネル
public Background() {
try {
backgroundImg = ImageIO.read(new File("./Images/Background.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(backgroundImg, (getWidth() - backgroundImg.getWidth(null))/2, 0, null);
}
です最小化ボタンを追加しましたが、f何らかの理由でクローズボタンの後ろにいると思われます。 これは私が達成したいものです: これは私がパネルをすべきだと思った方法ですが、それが最も良い/最も簡単な方法かどうかはわかりません。
短い質問:2番目の画像のように見えるJFrameをどうすれば作成できますか?
1)すぐに役立つようにするには、[MCVE]または[短く、自己完結型の正しい例](http://www.sscce.org/)を投稿してください。 2)最小のサイズでGUIの*意図された*レイアウトのアスキーアートまたは簡単な図面を提供し、余分なスペースをどのように使用すべきかを示すために、より幅と高さの変更が可能な場合。 –
さて、次回はそれをやろうとしますが、私はこれに答えるための十分な情報を提供していると思いました。 – xX4m4zingXx
IDEでコードが壊れているのを見るのに十分な情報がまだありません。 –