Когда я вызываю 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