Я делаю заявку в Eclipse с Swing и JFreechart, и у меня есть следующая проблема:
Как вы можете видеть на скриншотеУ меня есть рамка с несколькими компонентами.Проблема в JTable, который всегда имеет одинаковый размер, независимо от того, изменяю ли я размер окна.Я хочу, чтобы размер таблицы изменялся так же, как это делают другие компоненты, например, ChartPanel справа, и я не знаю, как это сделать.У contentPane есть BorderLayout с тремя панелями:
- Панель прокрутки для JTable (WEST)
- Панель ChartPanel (CENTER)
- Панель для кнопок (ЮГ)
Код для создания JTable:
private JTable getTasksTable() {
if (tasksTable == null) {
tasksTable = new JTable(new DefaultTableModel(new Object[] { "ID", "Duration", "Due-Date" }, 0) {
private static final long serialVersionUID = 1L;
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
});
DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
centerRenderer.setHorizontalAlignment(SwingConstants.CENTER);
for (int i = 0; i < tasksTable.getColumnModel().getColumnCount(); i++) {
tasksTable.getColumnModel().getColumn(i).setCellRenderer(centerRenderer);
}
tasksTable.getTableHeader().setDefaultRenderer(centerRenderer);
tasksTable.getTableHeader().setBorder(new LineBorder(new Color(0, 0, 0)));
tasksTable.setBorder(new LineBorder(new Color(0, 0, 0)));
tasksTable.setFillsViewportHeight(true);
}
return tasksTable;
}