Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 空布局-组件在重新绘制后隐藏_Java - Fatal编程技术网

Java 空布局-组件在重新绘制后隐藏

Java 空布局-组件在重新绘制后隐藏,java,Java,所以我有一个大面板:setLayout(null)。然后我想给它添加一个按钮。在big panel的构造函数中,我添加了这样的代码: JButton button = new JButton("eeee"); button.setBounds(100, 100, 100, 50); add(button); 没关系。但当我重新绘制大面板时,按钮隐藏了。当我移动鼠标到它应该在的位置时,它再次出现。。。如何防止这种奇怪的行为?可能与Constructor中的“我添加”按钮有关?您需要先使用“sup

所以我有一个大面板:setLayout(null)。然后我想给它添加一个按钮。在big panel的构造函数中,我添加了这样的代码:

JButton button = new JButton("eeee");
button.setBounds(100, 100, 100, 50);
add(button);

没关系。但当我重新绘制大面板时,按钮隐藏了。当我移动鼠标到它应该在的位置时,它再次出现。。。如何防止这种奇怪的行为?可能与Constructor中的“我添加”按钮有关?

您需要先使用“super.paint(g)”来绘制绘制面板组件,如果不这样做,则不会绘制添加的组件

@Override
public void paint(Graphics g){
    super.paint(g); //draw your button as default
    // hear, you can draw others things 

}

你覆盖了“画画”方法?是的我覆盖了。在paint方法中,我从ArrayList绘制对象在构造函数中这样做很好。你确定这是JPanel:你没有误用awt.Panel吗?或者,您是否覆盖了油漆、油漆组件等?编辑:我知道了。我覆盖了油漆而不是油漆组件。我的错误