java - 为什么 AUTO_RESIZE_LAST_COLUMN 的行为类似于 AUTO_RESIZE_ALL_COLUMNS?
问题描述
当我使用and调用setAutoResizeMode
时,我会在调整窗口大小时得到此处描述的预期结果。AUTO_RESIZE_OFF
AUTO_RESIZE_ALL_COLUMNS
当我用 调用它时AUTO_RESIZE_LAST_COLUMN
,我得到的行为与我指定的完全一样AUTO_RESIZE_ALL_COLUMNS
。
为什么?
这是 MCV 示例:
import javax.swing.*;
import java.awt.*;
public class ScrollableJTable extends JPanel {
public ScrollableJTable() {
setLayout(new BorderLayout());
JTable table = new JTable(10, 10);
table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); // vary the constant
JScrollPane pane = new JScrollPane(table);
add(pane, BorderLayout.CENTER);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JPanel panel = new ScrollableJTable();
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setContentPane(panel);
frame.pack();
frame.setVisible(true);
}
});
}
}
$ javac -version
javac 1.8.0_221
$ java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
# compile && go
$ javac ScrollableJTable.java && java ScrollableJTable
解决方案
使列数为 5(使行为更明显),然后将框架调整为更大。
在这两种情况下,列的大小都会相等。
接下来尝试调整单个列的大小。
AUTO_RESIZE_LAST_COLUMN
在这种情况下,您将在使用and时看到不同的行为AUTO_RESIZE_ALL_COLUMNS
。
我猜您的问题的答案是调整大小模式仅适用于调整单个列的大小,而不适用于调整整个表的大小。
推荐阅读
- mysql - 在 MySQL 中 Sequlize 等效的一对多关系
- java - 重用 for 循环的最佳方法是什么?
- dialogflow-es - 如何解决 Dialogflow 轮播卡富响应输入类型中的问题?
- android - 在匿名内部类中获取协程范围引用
- php - php-mongo 与 Arch linux 上的 php 7 不兼容
- angular - 上一页的ngOnInit方法的角度导航问题
- cmake - /usr/lib/x86_64-linux-gnu/libxml2.so:添加符号时出错:文件格式错误
- reactjs - 反应本机比较以前的状态和当前状态数组与 websocket
- google-cloud-platform - 如何根据策略验证 GCR 图像是否经过二进制授权或证明?
- c# - 运算符“*”不能应用于“Vector3”和“Vector3”类型的操作数