java - 无法将面板添加到scrollPane,应用程序没有变化

标签 java swing jpanel jscrollpane preferredsize

我将panel4添加到scrollPane,但我的应用程序没有改变。这是我的代码:

   public class Bill extends JPanel {
      //some Jlabels, JComboBox......
      public Bill(){

      JPanel panel1 = new JPanel();
      panel1.setLayout(new GridLayout(7,1,10,20));
      //add some labels to panel

      JPanel panel2 = new JPanel();
      panel2.setLayout(new GridLayout(7,4,10,10 ));

        //add some components to panel

      JPanel panel3=new JPanel(new GridLayout(4,1,10,10));
      panel3.add(CRTA);
      panel3.add(UKUPNO);
      panel3.add(jbtView);
      panel3.add(jbtCancel);

最后是面板4

     JPanel panel4=new JPanel();
     panel4.add(panel1, BorderLayout.WEST);
     panel4.add(panel2, BorderLayout.CENTER);

     JScrollPane scrollPane = new JScrollPane();
     scrollPane.getViewport().add( panel4 );  
     add(scrollPane,BorderLayout.CENTER);
     add(panel3, BorderLayout.SOUTH);
<小时/>

这就是我得到的

enter image description here

矩形内部是 panel4(带有数字和组合框的面板)

这是我改变尺寸的时候 enter image description here

没有滚动显示

最佳答案

基本上,您应该在 panel4 上添加所有内容(包括 panel3),然后在 JScrollPane 上添加 panel4。之后,将 JScrollPane 添加到 JTabbedPaneCENTER 上。

也永远不要在 JButton 上调用 setXXXSize 方法。

编辑

我对你的想法进行了一些思考:

enter image description here

我希望这对您的用户界面外观有所帮助。再说一次:不要调用 setXXXSize 方法,让其他一些东西来确定组件的大小,例如 JTextField 右侧的“Total”的字体大小JLabel 或“热饮”面板中这些 JButton 中的图标大小。

关于java - 无法将面板添加到scrollPane,应用程序没有变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14944754/

相关文章:

java - 试图了解 CascadeType.ALL 与 @OnDelete 的区别!

java - 在 Eclipse 中新建 Android 测试项目时出错

java - 如何从圆列表中选择圆以从 JFrame 中删除?

java - JTable中JCheckbox程序不稳定

java - 当使用 TableCellRenderer 以 dd.mm.yyyy 格式显示本地日期时,我的 JTable 搜索功能无法按预期工作

java - JPanel重绘问题

java - 我如何编写代码来显示每个 JPanel 中的每个字母,以及如何旋转。 (JFrame、NetBeans)

java - 处理 fragment ListView 时出错,找不到符号 'list'

java - 为什么log4j输出到stdout?

java - Java中面板的目的是什么