JTable против пользовательских TableModel - PullRequest
3 голосов
/ 16 ноября 2011

Я пытаюсь реализовать JTable в графическом интерфейсе Java, который может заполняться значениями из файла и позволяет пользователю вносить изменения в различные ячейки. Так как я использую графический редактор в IDE Netbeans, мой первый инстинкт был добавить JTable в мою форму из палитры. однако я быстро понял, что не могу добавить в таблицу более 100 строк (для моего приложения мне понадобится около 500+). Кроме того, во время поиска решения этой проблемы я заметил, что многие люди говорят, что следует использовать Custom TableModel вместо JTable, потому что он более надежный / эффективный.

Во-первых, есть ли способ добавить более 100 строк в JTable? во-вторых, является ли использование JTable (которое использует DefaultTableModel) действительно плохой реализацией? моя форма довольно сложна, поэтому я предпочел бы использовать редактор GUI для настройки размера, положения и т. д. моего JTable, а не жестко его кодировать.

Ответы [ 3 ]

3 голосов
/ 16 ноября 2011

Есть ли способ добавить более 100 строк в JTable?

Почему 100 предел? Это звучит как ваша IDE, а не DefaultTableModel. Десятки тысяч строк не являются проблемой для DefaultTableModel (не то чтобы любой пользователь захотел просмотреть все эти данные).

2 голосов
/ 20 октября 2012

Очень просто увеличивать строки вручную, а не увеличивать их с помощью графического интерфейса:

  1. Щелкните правой кнопкой мыши недавно созданную jTable
  2. Выберите код настройки
  3. ИзменитеКОД ПО УМОЛЧАНИЮ К СОБСТВЕННОСТИ КЛИЕНТА (где создание объекта началось для строк)
  4. По умолчанию нулевые строки равны 100
  5. КОПИРОВАТЬ и вставлять пустые строки по максимуму, как вам нужно
  6. НАЖМИТЕХорошо.Теперь размер строк вашей таблицы увеличивается по мере необходимости
2 голосов
/ 16 ноября 2011

Большинство известных мне кодировщиков Swing GUI не «жестко программируют» свои GUI, а используют более простые в использовании менеджеры компоновки (BorderLayout, GridLayout, BoxLayout, FlowLayout, MigLayout, FormLayout и т. Д.) Для выполнениятяжелый подъем для них и возможность изменения размера и сложности их сложных графических интерфейсов на нескольких платформах.Что касается вашей другой проблемы, дело не в том, использовать ли JTable или пользовательскую модель, поскольку, если вы используете JTable, вы будете использовать JTable независимо от того, является ли модель стандартной или нестандартной, но если вы делаете что-то сложноетогда, да, вы, вероятно, захотите добавить свою собственную TableModel в JTable.Их не так сложно создать, и мы поможем вам с этим.Я удивляюсь твоему требованию на 500 линий - нет никакого способа, которым кто-либо будет нуждаться или хотеть смотреть на 500 линий за один раз.Возможно, вы хотите использовать базу данных, загружать и удалять строки в вашей TableModel по мере необходимости.

...