java使JFrame中的JPanel可滚动
package new1;
import javax.swing.*;
public class New1 {
JFrame f = new JFrame("demo");
JPanel p = new JPanel();
JLabel l = new JLabel("one");
JLabel la = new JLabel("two");
JTextField t = new JTextField();
JTextField ta = new JTextField();
JScrollPane sc = new JScrollPane(p); // scrollbar with panel as constructor.
New1() {
f.add(p); // adding panel o the frame
p.setVisible(true);
p.setLayout(null);
p.setSize(1400, 900);
l.setBounds(10, 50, 100, 20); // setting dimension of labels
la.setBounds(10, 100, 100, 20);
t.setBounds(50, 100, 100, 20); //setting dimension of Textfields
tx.setBounds(50, 50, 100, 20);
p.add(l);
p.add(t);
p.add(la);
p.add(ta);
p.add(tx);
f.setLayout(null);
f.setVisible(true);
f.setSize(1400, 900);
sc.setSize(1350, 700); //setting size of scrollpane
sc.setVisible(true);
p.add(sc); // adding to the panel
}
public static void main(String[] args) {
new New1();
}
}
在这里,我给JPanel
添加了一些标签,希望使这个面板可以滚动,所以请帮助。我添加了滚动面板,面板作为构造器,所以我可以使面板滚动,但我没有这样做
# 1 楼答案
实际上,你正在使用JPanel。JFrame的内容窗格是一个JPanel,所以我们实际上是在向框架中添加组件
阅读Swing教程中关于Using Top Level Containers的部分,该部分解释了Swing中的层次结构
因此,解决问题的简单方法是:
这就是它的工作方式,你不能让一个框架滚动