Как сделать jtable, выполните следующие действия без jscrollpane не


Я сделал некоторые довольно приличные поиски, и я не могу довольно хорошо, что я ищу. в основном я хочу, чтобы JTable в JPanel и для этого JPanel изменил размер себя в соответствии с размером JTable. я знаю, что обычный способ реализации JTable-использовать JScrollpane, но в этом случае это не нужно ,и это заставляет мою программу выглядеть... беспорядочный.

Причина, по которой я не могу найти нужный мне ответ, заключается в том, что каждый раз, когда кто-то спрашивает о JTable в JPanel, кто-то дает им ответ puting он в ящике для свитков. я знаю о преимуществах использования scrollpane, но в этом случае они не выгодны.

2 4

2 ответа:

  1. Да можно добавить JTable в JPanel , заметьте с несколькими строками, которые заполняют реальное разрешение экрана

  2. Вы должны добавить TableHeader отдельно в контейнер тоже, иначе не добавляется, ни быть видимым, ибо JTable в JScrollPane не требуется добавлять или определять TableHeader отдельно

  3. Лучше было бы убрать границы из JScrollPane.setBorders(null) и с отключить VERTICAL и HORIZONTAL_SCROLLBAR, Чтобы NEVER

  4. Для сокращения более широкого JScrollPane до размеров к JTables Dimension можно использовать table.setPreferredScrollableViewportSize(table.getPreferredSize());

Попробуйте переопределить метод getPreferredSize() вашей JPanel и вернуть значение вашего JTable getPreferredSize():

final JTable table = new JTable();

JPanel panel = new JPanel() {
    public Dimension getPreferredSize() {
        return table.getPreferredSize();
    }
}