Java JScrollPane不';不行。。为什么?
我有一个框架,它有两个内部框架。我创建了一个“Board”对象,它是Board类的实例。Board类扩展了JPanelJava JScrollPane不';不行。。为什么?,java,swing,layout,jscrollpane,Java,Swing,Layout,Jscrollpane,我有一个框架,它有两个内部框架。我创建了一个“Board”对象,它是Board类的实例。Board类扩展了JPanel class Layout extends JFrame{ Dimension dimen=Toolkit.getDefaultToolkit().getScreenSize(); public initializeWindows(){ JInternalFrame dev=new JInternalFrame("Devices",true,true,f
class Layout extends JFrame{
Dimension dimen=Toolkit.getDefaultToolkit().getScreenSize();
public initializeWindows(){
JInternalFrame dev=new JInternalFrame("Devices",true,true,false,false);
JInternalFrame cir=new JInternalFrame("Circuit",true,true,false,false);
Board b=new Board();
cir.add(b);
JScrollPane scroll=new JScrollPane(b);
this.add(dev);
this.add(cir);
dev.setVisible(true);
dev.setSize(150,650);
dev.setLocation(0,100);
dev.pack();
inf.setVisible(true);
inf.setPreferredSize(new Dimension((int)(dimen.width*0.88),(int)(dimen.height*0.75)));
inf.setLocation(150,100);
inf.setBackground(Color.WHITE);
inf.pack();
}
但是滚动窗格不会出现。为什么是tat???,因为您没有将
JScrollPane
添加到内部框架
实际上,您正在将板
添加到JInternalFrame cir
和JScrollPane
,而您应该执行以下操作
JInternalFrame cir=new JInternalFrame("Circuit",true,true,false,false);
Board b=new Board();
JScrollPane scroll=new JScrollPane(b);
cir.add(scroll)
this.add(cir);
请设置
cir.setVisible(true)
和cir.add(滚动)
而不是cir.add(b)代码>
如果希望滚动条始终可见,可以使用
scroll = JScrollPane(b,
ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS)
添加滚动窗格
。例如:您应该通过调用this.add(scroll)将scroll对象添加到JFrame中。为什么要添加无法编译的代码?为了更快地获得更好的帮助,请发布一个。但后来我才意识到你提到过。对不起@AndrewThompson。。我的是一个大项目。。我尽我最大的努力让它成为一个SSCCE。。我会发布一些tat可以编译的东西..我想把board对象放在'cir'中。。我添加了cir.add(滚动)。。但它仍然不可见。。