Java JFrame按钮和GridBag约束

Java JFrame按钮和GridBag约束,java,swing,jpanel,gridbaglayout,Java,Swing,Jpanel,Gridbaglayout,为什么我的按钮约束不起作用?我看了Java文档,正在做与教程相同的事情,但对我来说,无论我使用什么样的gridx、y、width或fill,按钮都保持不变。有什么想法吗?这是我的密码: class MyWindow { public static void main(String [] arg) { MyJFrame f = new MyJFrame("My GUI 2015"); f.setVisible(true); f.setSize(10, 20); f.

为什么我的按钮约束不起作用?我看了Java文档,正在做与教程相同的事情,但对我来说,无论我使用什么样的gridx、y、width或fill,按钮都保持不变。有什么想法吗?这是我的密码:

class MyWindow
{
public static void main(String [] arg)
{
    MyJFrame f = new MyJFrame("My GUI 2015");
    f.setVisible(true);
    f.setSize(10, 20);
    f.add(f.p);
}
}


当前代码中未指定容器的LayoutManager(JPanel的默认设置为FlowLayout)。如果希望在容器上使用GridBagLayout,则必须明确指定LayoutManager:

p = new JPanel(new GridBagLayout());
//or
p.setLayout(new GridBagLayout());

当前代码中未指定容器的LayoutManager(JPanel的默认设置为FlowLayout)。如果希望在容器上使用GridBagLayout,则必须明确指定LayoutManager:

p = new JPanel(new GridBagLayout());
//or
p.setLayout(new GridBagLayout());

您在何处指定布局管理器,例如
gridbaglaway
?您在何处指定布局管理器,例如
gridbaglaway
?(+1),另外,请阅读上的Swing教程以获取更多信息和示例。这些示例还将向您展示如何更好地构造代码,以便在事件分派线程上创建Swing组件,这是您应该经常做的事情,以防止随机错误。(+1),另外,请阅读上的Swing教程以获取更多信息和示例。这些示例还将向您展示如何更好地构造代码,以便在事件分派线程上创建Swing组件,这是您应该经常做的事情,以防止出现随机错误。