我正在用NetBeans开发一个小型桌面应用程序。在我的UI上,我放置了一个JPanel,并在上面放了一个JLabel。这个JLabel的内容是动态生成的,所以如果内容非常大,那么它就会显示在屏幕之外。那么,我是否可以为JPanel指定一个固定的大小,当然,当文本超过屏幕大小时,滚动条应该出现
您只需将Component引用传递给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);
}
});
}
}
使用JScrollPane来包含你的大JPanel
so in case when the contents are very large it goes out of screen
,也许你必须寻找TextComponents
作为JTextArea或JEditorPane,教程包含的例子包括JScrollPane
在导航器中,用鼠标右键单击JPanel -> Enclose In -> Scroll Pane
完成了!你现在有了卷轴