我编写了一个简单的程序来查看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);
}
}
答案 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);
,则会看到您的按钮。
另请阅读有关LayoutManager和BorderLayout