Java JScrollPane不';不行。。为什么?

Java 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

我有一个框架,它有两个内部框架。我创建了一个“Board”对象,它是Board类的实例。Board类扩展了JPanel

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(滚动)。。但它仍然不可见。。