我刚开始学习Swing / JFrame,基本上是制作GUI。 我现在已经做了一个月的Java,只是使用控制台,制作一个罪恶/真假游戏,现在对我来说很容易。
我决定采取进一步措施,我必须说这完全是一种痛苦,不同的逻辑。
这就是我到目前为止所做的:
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打开,就是这样。
为什么按钮不显示?
答案 0 :(得分:6)
人们告诉我使用setBounds 别!布局管理器是正确的方法。
您的问题是您将按钮添加到“p”面板,但您从未将它(p面板)添加到contentPane