【发布时间】:2019-11-08 17:14:00
【问题描述】:
当我用AUTO_RESIZE_OFF 和AUTO_RESIZE_ALL_COLUMNS 调用setAutoResizeMode 时,我会在调整窗口大小时得到描述here 的预期结果。
当我用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
【问题讨论】: