为什么以下框架不显示“确定”按钮(Java)

时间:2013-11-23 20:36:05

标签: java swing user-interface jframe

我编写了一个简单的程序来查看java中的add和remove方法的效果,无论出于何种原因,下面的代码都没有显示OK按钮。谁能告诉我为什么?我很困惑,因为它应该可以正常工作。

import javax.swing.*;

public class MyFrameWithComponents {
        public static void main(String[] args){
        JFrame frame = new JFrame("Adding and removing components.");
        JButton OK = new JButton("OK");
        JButton Cancel = new JButton("Cancel");

        frame.add(OK);
        frame.add(Cancel);

        frame.remove(Cancel);

        frame.setSize(400 , 400);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}

2 个答案:

答案 0 :(得分:0)

您需要设置尺寸和位置>>

    JButton OK = new JButton("OK");
    OK.setSize(50,50);
    OK.setLocation(175, 170);

答案 1 :(得分:0)

下一步看似你的问题:

您的JFrame默认BorderLayout,您致电frame.add(OK);,将您的按钮默认添加到容器的Center,然后拨打frame.add(Cancel);“覆盖“您的第一个添加,因为您没有看到您的按钮,因为您删除取消按钮。

例如,如果您使用frame.add(OK,BorderLayout.WEST);,则会看到您的按钮。

另请阅读有关LayoutManagerBorderLayout

的更多信息