NetBeans: 如何为JPanel添加滚动条

5

我正在NetBeans中开发一个小型桌面应用程序。在我的用户界面上,我放置了一个JPanel并在其上放置了单个JLabel。这个JLabel的内容是动态生成的,所以如果内容非常大,则会超出屏幕范围。因此,是否有办法可以为JPanel指定固定大小,并在文本超过屏幕大小时显示滚动条。

4个回答

8

您只需将组件引用传递给JScrollPane构造函数。它会正常工作。 您可以肯定地使用JScrollPane。 以下是我的过去项目中为JPanel提供的JScrollPane的sudo示例。希望对您有用。

import javax.swing.*;
import java.awt.*;

public class Frame01
{
    public static void main(String[] args){
        SwingUtilities.invokeLater (new Runnable ()
        {
            public void run ()
            {
                JFrame frame = new JFrame("panel demo");
                frame.setDefaultCloseOperation (JFrame.DISPOSE_ON_CLOSE);

                JPanel panel = new JPanel();
                Container c = frame.getContentPane();
                panel.setSize(100,100);
                panel.setLayout(new GridLayout(1000,1));
                for(int i = 0; i<1000;i++)
                panel.add(new JLabel("JLabel "+i));

                JScrollPane jsp = new JScrollPane(panel);
                c.add(jsp);
                frame.setSize(100,100);
                frame.setVisible(true);
            }
        });
    }
}

6
使用JScrollPane来包含您的大面板。

2
在导航器中,用鼠标右键单击JPanel --> 包含在 --> 滚动窗格中。
完成了!现在你可以滚动了。

2

因此,当内容非常大时,它会超出屏幕,也许你需要寻找 TextComponents,如JTextArea或JEditorPane,本教程包含了关于JScrollPane的基本用法示例。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接