0

我有一个有两个内部框架的框架。我创建了一个“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??

4

2 回答 2

1

因为您没有将其添加JScrollPane到内部框架中。

您实际上是在BoardJInternalFrame cirand 添加到JScrollPanewhile 您应该执行类似的操作

JInternalFrame cir=new JInternalFrame("Circuit",true,true,false,false);
Board b=new Board();
JScrollPane scroll=new JScrollPane(b);
cir.add(scroll)
this.add(cir);
于 2012-04-08T18:39:44.283 回答
1

请设置cir.setVisible(true)cir.add(scroll)不是cir.add(b);

如果您希望滚动条始终可见,您可以使用

scroll = JScrollPane(b,
  ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,
  ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS)
于 2012-04-08T19:49:17.250 回答