简体   繁体   中英

NetBeans: how to add ScrollBar to JPanel

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.

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);
            }
        });
    }
}

使用JScrollPane包含您的大JPanel。

so in case when the contents are very large it goes out of screen ,也许您必须将TextComponents作为JTextArea或JEditorPane来查找,教程包含的示例包括JScrollPane的基本用法

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

Done!, You have now scrolls

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM