4

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

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

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

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

我的输出

像上面显示面板的高度比计算机屏幕的高度更高。所以我想通过滚动在电脑屏幕上显示我的面板的所有内容。

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

但是,答案并没有解决我的问题。

4

3 回答 3

8

在没有看到您的代码的情况下,我的猜测是您没有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.

于 2013-08-23T17:47:02.553 回答
4

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

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

为了微调滚动量,您可以选择实现该Scrollable接口。
另请参阅如何使用滚动窗格(Java 教程)

于 2013-08-23T17:45:48.487 回答
2

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

    1. In Netbeans GUI editor, select all panels which requires scroll pane using CTRL+left click
    2. Right click on the hilighted panels, select the option 'Enclose in' -> Scroll Pane. This will add a scroll pane for the selected panels.
    3. If there are other elements than Panel(say JTree), select all the elements ->Enclose in ->Panel. Then enlose the new parent panel to scroll pane
    4. Make sure that 'Auto Resizing' is turned on for the selected parent panel(Right click on panel -> Auto resizing -> Tick both Horizontal and vertical)
于 2017-01-31T01:02:11.120 回答