我正在NetBeans中开发一个小型桌面应用程序。在我的用户界面上,我放置了一个JPanel并在其上放置了单个JLabel。这个JLabel的内容是动态生成的,所以如果内容非常大,则会超出屏幕范围。因此,是否有办法可以为JPanel指定固定大小,并在文本超过屏幕大小时显示滚动条。
我正在NetBeans中开发一个小型桌面应用程序。在我的用户界面上,我放置了一个JPanel并在其上放置了单个JLabel。这个JLabel的内容是动态生成的,所以如果内容非常大,则会超出屏幕范围。因此,是否有办法可以为JPanel指定固定大小,并在文本超过屏幕大小时显示滚动条。
您只需将组件引用传递给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);
}
});
}
}
因此,当内容非常大时,它会超出屏幕
,也许你需要寻找 TextComponents
,如JTextArea或JEditorPane,本教程包含了关于JScrollPane的基本用法示例。