Java JFrame gui - 为什么按钮不显示?

时间:2013-08-12 09:41:03

标签: java swing user-interface

我刚开始学习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打开,就是这样。

为什么按钮不显示?

1 个答案:

答案 0 :(得分:6)

人们告诉我使用setBounds 别!布局管理器是正确的方法。

您的问题是您将按钮添加到“p”面板,但您从未将它(p面板)添加到contentPane