我正在NetBeans中开发一个小型桌面应用程序。在我的UI上,我放置一个JPanel并在其上放置一个JLabel。这个JLabel的内容是动态生成的,所以如果内容非常大,那么它会离开屏幕。所以我可以用任何方式为JPanel指定一个固定的大小,当然当文本超出时,ScrollBars会出现屏幕尺寸。
答案 0 :(得分:7)
您必须将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);
}
});
}
}
答案 1 :(得分:6)
使用JScrollPane包含您的大型JPanel。
答案 2 :(得分:2)
so in case when the contents are very large it goes out of screen
,也许您必须查找TextComponents
JTextArea or JEditorPane,教程包含的示例包括JScrollPane的基本用法
答案 3 :(得分:1)
在导航器中,用鼠标右键单击JPanel - &gt;封闭 - &gt;滚动窗格。
完成!,你现在滚动