Swing/JFrame の学習を始めたばかりで、基本的に GUI を作成しています。コンソールを使用して、罪/真または偽のゲームを作成するだけで、Javaを1か月間実行していますが、今では非常に簡単です。
私はさらに一歩踏み出すことにしましたが、それは完全に苦痛であり、別の論理であると言わざるを得ません。
それが私がこれまでに行ったことです:
Main.java:
import java.awt.*;
import javax.swing.*;
import java.io.*;
class Main {
public static void main(String[] args) {
final Gui gui = new Gui();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
gui.createMyGui();
}
});
}
}
gui.java
class Gui {
protected JFrame j = new JFrame("My First window");
protected JPanel p = new JPanel();
protected Container c;
public Gui() {
j.setSize(500, 400);
p.setSize(j.getSize());
this.c = j.getContentPane();
}
public void createMyGui() {
setButtons();
setGuiBackground();
j.setVisible(true);
p.setVisible(true);
this.c.add(p);
}
private void setGuiBackground() {
this.c.setBackground(Color.green);
}
private void setButtons() {
p.add(new JButton("Hey"));
}
}
問題
ボタンを実際に表示することはできません。人々は setBounds を使用するように言っていますが、そこにボタンを配置することさえできないため、開始方法がよくわかりません。私は自分の問題について検索しようとしましたが、実際には運がありません。
基本的に、500x400 の緑色の GUI が開きます。それだけです。
ボタンが表示されないのはなぜですか?