Java 比growx大的Grow表

Java 比growx大的Grow表,java,swing,miglayout,Java,Swing,Miglayout,我已将布局配置为: panel.add(addButtons(), "wrap"); panel.add(showTable(), "growx, wrap"); 因此,首先我要添加一个按钮组,然后我想将我的表扩大到尽可能大,然后将下一个组件包装到下一个“行”中 但是,我的gui看起来是这样的: panel.add(addButtons(), "wrap"); panel.add(showTable(), "growx, wrap"); 在这

我已将布局配置为:

    panel.add(addButtons(), "wrap");    
    panel.add(showTable(), "growx, wrap");
因此,首先我要添加一个按钮组,然后我想将我的表扩大到尽可能大,然后将下一个组件包装到下一个“行”中

但是,我的gui看起来是这样的:

    panel.add(addButtons(), "wrap");    
    panel.add(showTable(), "growx, wrap");

在这里,您显然无法从表中看到任何值。因此,如何增加表的大小,以便可以看到每个值


谢谢你的回答

您可以使用
javax.swing.table.TableColumn

TableColumn custom_column = yourTable.getColumnModel().getColumn(1); // 1 means column 1 
custom_column.setPreferredWidth(500); 
如果要加宽所有列,可以使用循环:

         TableColumn custom_column ;
         int numberOfColumns  = yourTable.getColumnModel().getColumnCount();

         for(int y= 0;y<numberOfColumns;y++){
            custom_column=table.getColumnModel().getColumn(y);
            custom_column.setMinWidth(500);
         }
TableColumn自定义_列;
int numberOfColumns=yourTable.getColumnModel().getColumnCount();

对于(inty=0;y您可以使用
javax.swing.table.TableColumn;

TableColumn custom_column = yourTable.getColumnModel().getColumn(1); // 1 means column 1 
custom_column.setPreferredWidth(500); 
如果要加宽所有列,可以使用循环:

         TableColumn custom_column ;
         int numberOfColumns  = yourTable.getColumnModel().getColumnCount();

         for(int y= 0;y<numberOfColumns;y++){
            custom_column=table.getColumnModel().getColumn(y);
            custom_column.setMinWidth(500);
         }
TableColumn自定义_列;
int numberOfColumns=yourTable.getColumnModel().getColumnCount();
对于(int y=0;y
在这里,您显然无法从表中看到任何值。因此,如何增加表的大小,以便可以看到每个值

正如我在评论中所说,我认为您的问题不在于列(首选| min | max)的大小,而是布局管理器的默认行为:。如中所述,
MigLayout
中的默认行不填充所有可用宽度,而只是显示最长行所需的宽度(基于组件宽度)。如果在实例化布局时启用“调试”功能,则可以看到这一事实:

MigLayout layout = new MigLayout("debug");
我理解你的问题,你需要结合
growx
fillx
约束。第一个是组件约束,另一个是布局约束

以上所说,PASASE考虑以下进展:

1.添加不带“growx”约束的滚动窗格 片段

MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane);
MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here
MigLayout layout = new MigLayout("debug, fillx"); // Note "fillx" here
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here
屏幕截图

MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane);
MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here
MigLayout layout = new MigLayout("debug, fillx"); // Note "fillx" here
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here

2.添加带有“growx”约束的滚动窗格 片段

MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane);
MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here
MigLayout layout = new MigLayout("debug, fillx"); // Note "fillx" here
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here
屏幕截图

MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane);
MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here
MigLayout layout = new MigLayout("debug, fillx"); // Note "fillx" here
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here

3.添加带有“growx”和“fillx”约束的滚动窗格 片段

MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane);
MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here
MigLayout layout = new MigLayout("debug, fillx"); // Note "fillx" here
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here
屏幕截图

MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane);
MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here
MigLayout layout = new MigLayout("debug, fillx"); // Note "fillx" here
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here

在这里,您显然无法从表中看到任何值。因此,如何增加表的大小,以便可以看到每个值

正如我在评论中所说,我认为您的问题不在于列(首选| min | max)的大小,而是布局管理器的默认行为:。如中所述,
MigLayout
中的默认行不填充所有可用宽度,而只是显示最长行所需的宽度(基于组件宽度)。如果在实例化布局时启用“调试”功能,则可以看到这一事实:

MigLayout layout = new MigLayout("debug");
我理解你的问题,你需要结合
growx
fillx
约束。第一个是组件约束,另一个是布局约束

以上所说,PASASE考虑以下进展:

1.添加不带“growx”约束的滚动窗格 片段

MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane);
MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here
MigLayout layout = new MigLayout("debug, fillx"); // Note "fillx" here
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here
屏幕截图

MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane);
MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here
MigLayout layout = new MigLayout("debug, fillx"); // Note "fillx" here
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here

2.添加带有“growx”约束的滚动窗格 片段

MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane);
MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here
MigLayout layout = new MigLayout("debug, fillx"); // Note "fillx" here
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here
屏幕截图

MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane);
MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here
MigLayout layout = new MigLayout("debug, fillx"); // Note "fillx" here
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here

3.添加带有“growx”和“fillx”约束的滚动窗格 片段

MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane);
MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here
MigLayout layout = new MigLayout("debug, fillx"); // Note "fillx" here
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here
屏幕截图

MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane);
MigLayout layout = new MigLayout("debug");
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here
MigLayout layout = new MigLayout("debug, fillx"); // Note "fillx" here
JPanel panel = new JPanel(layout);
panel.add(buttonsPanel, "wrap");
panel.add(scrollPane, "growx"); // Note "growx" here

您是否尝试“填充”当用
fill
替换
growX
时,我得到:
非法约束:“fill”
希望使用
fillx
会有用。你可以将它与
growX
结合使用,使行增长并被填充。@Vivien重写/设置JTabl的getPreferredScrollableSize的值e、 然后这个维度(由JScrollPane使用)将适当的PreferredSize返回到容器,并与TableColum.setPreferredWidth(500)一致;ForId您试图“填充”当用
fill
替换
growX
时,我得到:
非法约束:“fill”
希望使用
fillx
会有用。你可以将它与
growX
结合使用,使行增长并被填充。@Vivien重写/设置JTabl的getPreferredScrollableSize的值e、 然后该维度(由JScrollPane使用)将适当的PreferredSize返回到容器,并与TableColum.setPreferredWidth(500)一致;for是否可以为表模型中的所有列指定此项?@vivien,据我所知,默认情况下没有,但在loop的帮助下,您可以迭代每个列索引以放入.getColumn(int-columnPosition)中作为参数。然后您可以为这些列设置首选大小。是否可以为表模型中的所有列指定此参数?@vivien,据我所知,默认情况下没有,但在循环的帮助下,您可以迭代每个列索引以放入.getColumn(int columnPosition)中作为参数。然后可以为这些列设置首选大小。