如何使可滚动到jPanel

时间:2013-08-23 17:36:38

标签: java swing netbeans jpanel jscrollpane

我正在制作摇摆应用程序。我的jPanel的高度太高了。所以我想让这个面板可滚动: 以下是我对我的要求的描述。

我在一个jpanel中有四个jpanel我的意思是:

JPanel p1=new JPanel();
JPanel p2=new JPanel();
JPanel p3=new JPanel();
JPanel p4=new JPanel();

我在p2, p3, p4内添加p1,如下面的输出:

MyOutput

如上所示,显示面板的高度高于计算机屏幕高度。所以我想通过滚动显示我的面板在计算机屏幕上的所有内容。

我在这里搜索并发现了以下问题:

然而,答案并没有解决我的问题。

3 个答案:

答案 0 :(得分:4)

如果没有看到您的代码,我的猜测是您没有JScrollpane来提供您想要的可滚动行为。

JPanel mainPanel = new JPanel(); //This would be the base panel of your UI
JPanel p1=new JPanel();
JPanel p2=new JPanel();
JPanel p3=new JPanel();
JPanel p4=new JPanel();
JPanel newPanel = new JPanel();
newPanel.add(p1);
newPanel.add(p2);
newPanel.add(p3);
newPanel.add(p4);
JScrollPane pane = new JScrollPane(newPanel);
mainPanel.add(pane);

由于您使用NetBeans,请从调色板中添加JScrollpane,在其中添加一个面板以包含其他4个。我想你也可以将4个面板添加到JScrollpane

答案 1 :(得分:2)

将您的面板添加到JScrollPane。假设您只想垂直滚动:

JScrollPane scrollPane=new JScrollPane(panel, 
   ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,  
   ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

为了微调滚动量,您可以选择实现Scrollable界面 另请参阅How to Use Scroll Panes (The Java Tutorial)

答案 2 :(得分:2)

使用Netbeans IDE设计滚动窗格很容易。下面给出了我添加滚动窗格所遵循的步骤:

info.RedirectStandardOutput = true;