NetBeans:如何将 ScrollBar 添加到 JPanel

发布于 2024-12-07 16:27:52 字数 167 浏览 0 评论 0 原文

我正在 NetBeans 中开发一个小型桌面应用程序。在我的 UI 上,我放置了一个 JPanel 并在其上放置了一个 JLabel。这个 JLabel 的内容是动态生成的,因此如果内容非常大,那么它就会超出屏幕。那么有什么方法可以为 JPanel 指定固定大小,当然当文本超过时应该出现 ScrollBars屏幕尺寸。

I am developing a small desktop application in NetBeans. On my UI, I place a JPanel and put a single JLabel on it. The content of this JLabel is generated dynamically, so if the content is very large then it goes out of screen.So is there any way in which I can specify a fixed size for the JPanel and of course ScrollBars should appear when the text exceeds the screen size.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

漆黑的白昼 2024-12-14 16:27:52

您只需将组件引用传递给 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);
            }
        });
    }
}

You will have to just pass Component reference to the JScrollPane Constructor.
It will work fine. You can definetely use JScrollPane
The following is the sudo example of the JScrollPane for JPanel from my past project. Hope it will be useful for you.

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);
            }
        });
    }
}
旧人九事 2024-12-14 16:27:52

使用 JScrollPane 来包含您的大 JPanel。

Use JScrollPane to contain Your big JPanel.

呆° 2024-12-14 16:27:52

因此,如果内容非常大,它会超出屏幕,也许您必须查找 TextComponents 作为 JTextArea 或 JEditorPane,教程包含示例,其中包括 JScrollPane

so in case when the contents are very large it goes out of screen, maybe you have to look for TextComponents as JTextArea or JEditorPane, tutorial contains example including basic usage for JScrollPane

不顾 2024-12-14 16:27:52

在导航器中,用鼠标右键单击 JPanel -->包含在 -->滚动窗格。

完成!,你现在有了卷轴

In the Navigator, click on JPanel with the right mouse button --> Enclose In --> Scroll Pane.

Done!, You have now scrolls

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文