Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Swing JTable和JScrollPane适合列宽_Java_Swing_Jtable_Jscrollpane - Fatal编程技术网

Java Swing JTable和JScrollPane适合列宽

Java Swing JTable和JScrollPane适合列宽,java,swing,jtable,jscrollpane,Java,Swing,Jtable,Jscrollpane,我是Swing的新手,我正在使用JTable对象来显示一些信息。 基本上,框架包含一个JPanel->GridBagLayout管理器。 JPanel包含一个JLabel(“状态表”)、一个包含JTable的JScrollPane、“排序依据”JButton和一个JComboBox 如何设置列/列标题的宽度以完全显示其中包含的文本 我试着用 table.getColumnModel().getColumn(i).setPreferredWidth(my_width); 但问题是,为了获得我想

我是Swing的新手,我正在使用JTable对象来显示一些信息。 基本上,框架包含一个JPanel->GridBagLayout管理器。 JPanel包含一个JLabel(“状态表”)、一个包含JTable的JScrollPane、“排序依据”JButton和一个JComboBox

如何设置列/列标题的宽度以完全显示其中包含的文本

我试着用

table.getColumnModel().getColumn(i).setPreferredWidth(my_width); 
但问题是,为了获得我想要的结果,所有列的宽度之和都大于JScrollPane的宽度,因此不会发生任何事情,它们将保持与以前相同

我尝试使用JScrollPane的setSize方法来调整它的大小,使其与窗口一样大。。。但是由于GridBagLayout管理器的缘故,它似乎不能超过某个特定的大小,而这个大小仍然不适合文本

其他信息: JTable是从我已经实现的一个模型构建的,我唯一修改的gridbag约束是gridx、gridy和fill=BOTH

请参阅,以获取调整每列大小的简便方法

只应将表添加到滚动窗格中。您可能还需要使用:

table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );
允许每列以其首选大小显示

所有列的宽度之和大于JScrollPane的宽度,因此不会发生任何事情

你对gridbag警察有意见。组件应该增长以填充所有空间。也许使用边界布局会更容易。将滚动窗格添加到中间,并将其他组件添加到北/南。您可以使用不同的布局管理器嵌套面板,以获得所需的布局。

有关调整每列大小的简单方法,请参阅

只应将表添加到滚动窗格中。您可能还需要使用:

table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );
允许每列以其首选大小显示

所有列的宽度之和大于JScrollPane的宽度,因此不会发生任何事情

你对gridbag警察有意见。组件应该增长以填充所有空间。也许使用边界布局会更容易。将滚动窗格添加到中间,并将其他组件添加到北/南。您可以使用不同的布局管理器嵌套面板,以获得所需的布局。

有关调整每列大小的简单方法,请参阅

只应将表添加到滚动窗格中。您可能还需要使用:

table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );
允许每列以其首选大小显示

所有列的宽度之和大于JScrollPane的宽度,因此不会发生任何事情

你对gridbag警察有意见。组件应该增长以填充所有空间。也许使用边界布局会更容易。将滚动窗格添加到中间,并将其他组件添加到北/南。您可以使用不同的布局管理器嵌套面板,以获得所需的布局。

有关调整每列大小的简单方法,请参阅

只应将表添加到滚动窗格中。您可能还需要使用:

table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );
允许每列以其首选大小显示

所有列的宽度之和大于JScrollPane的宽度,因此不会发生任何事情


你对gridbag警察有意见。组件应该增长以填充所有空间。也许使用边界布局会更容易。将滚动窗格添加到中间,并将其他组件添加到北/南。您可以使用不同的布局管理器嵌套面板,以获得所需的布局。

使用BorderLayout。谢谢,我和BorderLayout合作过。谢谢,我和BorderLayout合作过。谢谢,我和BorderLayout合作过。谢谢