Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.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 JScrollPane不';t在构造函数中显示提供的组件_Java_Swing - Fatal编程技术网

Java JScrollPane不';t在构造函数中显示提供的组件

Java JScrollPane不';t在构造函数中显示提供的组件,java,swing,Java,Swing,JScrollPane没有显示我在其构造函数中放置了什么组件 panel = new JPanel(); panel.setLayout(new GridLayout(1, 1)); JButton button = new JButton("button"); panel.add(button); scroll = new JScrollPane(panel); scroll.setBounds(0, 0, 300, 300); parent.add(scroll); 除

JScrollPane没有显示我在其构造函数中放置了什么组件

panel = new JPanel();
panel.setLayout(new GridLayout(1, 1));
JButton button = new JButton("button");
panel.add(button);
scroll = new JScrollPane(panel);
scroll.setBounds(0, 0, 300, 300);
parent.add(scroll);
除此之外,所有父布局都设置为null,因为它必须使用布局管理器,对吗?疯狂的是,当我在一个简单的程序中编写这个代码时,它可以工作,但是如果我试着在我的实际程序中添加这个代码,除了我在它的构造函数中插入的面板,所有的事情都是正常的,只有边框,JScrollBar的背景出现了,我还注意到,如果我只是直接将面板添加到父组件中,即使我将布局设置为GridLayout,它仍然会将其设置为null。。有人能帮我吗。

问题解决了

panel.revalidate();
panel.repaint();
pane.revalidate();
pane.repaint();

如果你不发表一篇文章,就很难确定有什么特别的问题。JScrollPane的父JPanel必须有一个Swing布局管理器。所有JPanel都应该有一个Swing布局管理器。所有父布局都设置为空-为什么?Swing设计用于布局管理器。当我在一个简单的程序中编写这个代码时,它可以工作,但是如果我尝试在我的实际程序中添加这个。。。。这就是问题所在。随着代码变得越来越复杂,布局也变得越来越复杂,其中一个空布局会导致问题。学习按设计的方式使用Swing,避免潜在问题。