Изменить размер таблицы в Miglayou

1

Я создал MigLayout, который выглядит так:

Изображение 174551

Как видите, таблица не имеет правильного размера.

Я создаю свой макет следующим образом:

public JScrollPane createLayout() {
    JPanel panel = new JPanel(new MigLayout("debug 400"));
    JScrollPane sp;

    JLabel lab = new JLabel(labelValue);
    lab.setFont(new Font("Tahoma", Font.BOLD, 15));

    panel.add(lab, "wrap");
    panel.add(resultsTable(), "growx, wrap");
    panel.add(resultsButtons(), "wrap");

    //set table properties
    tableProperties(resultTable);
    updateResultsTable();

    sp = new JScrollPane(panel);
    sp.repaint();
    sp.validate();

    return sp;
}

Моя таблица создается следующим образом:

private JPanel resultsTable() {
    JPanel panel = new JPanel(new MigLayout(""));
    JScrollPane scrollTablePane;
    rtm = new ResultTableModel(resultList);
    resultTable = new JTable(rtm);
    scrollTablePane = new JScrollPane(resultTable);
    sorter = new TableRowSorter<TableModel>(resultTable.getModel());
    resultTable.setRowSorter(sorter);

    scrollTablePane.repaint();
    scrollTablePane.validate();

    //add to panel
    panel.add(scrollTablePane);
    panel.repaint();
    panel.validate();

    return panel;
}

Кроме того, я задал свойства таблицы следующим способом:

public void tableProperties(JTable table) {
    table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
}

Любые рекомендации, почему мои столбцы таблицы не растягиваются?

Я ценю ваш ответ!

  • 0
    См. Связанные вопросы и ответы: Таблица изменения размера больше, чем growx .
  • 0
    Я столкнулся с некоторыми отсутствующими идентификаторами в вашем коде: resultsButtons (), resultTable, updateResultsTable (), rtm, класс ResultTableModel [из NCSA, gSwing, DFKI?], ResultList и сортировщик. Вы используете MiG Layout 4.2 ?
Теги:
layout
swing
layout-manager
miglayout

1 ответ

1
Лучший ответ

Если вы хотите, чтобы ваша таблица была автоматически изменена, попробуйте использовать внутри метода createLayout следующий конструктор JPanel panel = new JPanel(new MigLayout("debug 400,wrap 1","[grow,fill]","[grow,fill]")) и внутри resultsTable метод следующий конструктор JPanel panel = new JPanel(new MigLayout("","[grow,fill]","[grow,fill]"))

Ещё вопросы

Сообщество Overcoder
Наверх
Меню