JTable не будет автоматически изменять размер последнего столбца - PullRequest
0 голосов
/ 27 апреля 2011

У меня есть JTable, который помещается в JPanel, а затем помещается в JFrame, в котором есть другой JPanel, имеющий ScrollPane.Общая идея может быть замечена ниже, если объяснение сбивает с толку.Я установил JTable для автоматического изменения размера последнего столбца, но он никогда не менял размеры.В чем проблема?

JFrame -> JPanel -> JTable
-> JPanel -> Панель прокрутки

Мой код:
this относится к моему классукоторый расширяет JFrame

this.setLayout(new BorderLayout());

JTextArea log = new JTextArea(20, 50);
log.setEditable(false);
JScrollPane logScrollPane = new JScrollPane(log);

String[] configRow = {"Config File", "Not Loaded"};
String[] logRow = {"Log File" , "Not Loaded"};
DefaultTableModel dtm = new DefaultTableModel();
dtm.addColumn("");
dtm.addColumn("");
dtm.addRow(configRow);
dtm.addRow(logRow);

JTable status = new JTable(dtm);
status.setTableHeader(null);
status.setShowGrid(false);
status.setEnabled(false);
status.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);

JPanel tablePanel = new JPanel();
tablePanel.setLayout(new BorderLayout());
tablePanel.add(status, BorderLayout.LINE_START);

JPanel logPanel = new JPanel();
logPanel.add(logScrollPane);

this.add(tablePanel, BorderLayout.NORTH);
this.add(logPanel, BorderLayout.SOUTH);

1 Ответ

2 голосов
/ 28 апреля 2011

Ваш JTable должен быть помещен в JScrollPane для правильного изменения размера.Вы размещаете JTable прямо на JPanel.

tablePanel.add(new JScrollPane(status), BorderLayout.LINE_START):
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...