NetBeans JTable без панели прокрутки, сохранение заголовка

Я пытаюсь добавить JTable с помощью построителя графического интерфейса пользователя NetBeans. Таблица находится внутри панели, на которой уже есть полоса прокрутки. NETbeans автоматически создает все JTables внутри JScrollPane.

Тем не менее, я хочу, чтобы таблица прокручивалась как часть большей страницы. Мне не нужны две полосы прокрутки.

Моя проблема: если я избавлюсь от панели прокрутки, я потеряю заголовок.

Есть ли способ создать таблицу с заголовком внутри компоновщика графического интерфейса Netbeans?

2 ответа

Моя проблема: если я избавлюсь от панели прокрутки, я потеряю заголовок.

  • JTableHeader (автоматически) виден в том случае, если JTable это внутри JScrollPane

  • ты должен получить JTableHeader от JTable и поместите этот объект программно с помощью LayoutManager к контейнеру, я настоятельно рекомендую использовать BorderLayout или же GridBagLayout для этого контейнера

Если вы добавите JTabel непосредственно в контейнер (не в JScrollPane) нужно добавить JTableHeader самостоятельно (программно), попробуйте следующий пример:

public static void main(String[] args) {
    JTable t = new JTable(new Object[][]{{1,2,3}},new Object[]{"1","2","3"});
    JFrame frame = new JFrame();
    frame.add(t.getTableHeader(),BorderLayout.NORTH);
    frame.add(t);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);
}

Другие вопросы по тегам