Как добавить JTable для JPanel -- java поле с участием swing поле с участием jtable поле с участием gridbaglayout пол Связанный проблема

How to add a JTable to a JPanel


-1
vote

проблема

русский

Мой вопрос может показаться немного глупо, но каждый раз, когда я использую качели, у меня проблемы с таблицами. Таким образом, я работаю над школьным проектом, и мне нужно добавить jtable к jpanel с gridbaglayout, но я не вижу jtable im добавляю к моей панели.

Вот код:

 <код> public class MainView extends JFrame {      private static Dimension dimensionFenetre = new Dimension(1980, 1000);     Object[][] team = {         {"France", "80"},         {"Germany", "80"},         {"Italy", "80"},         {"England", "80"} };  String  titleColumn[] = {"Team", "Overall"};  public MainView() {      JPanel panelFenetre = new JPanel(new GridBagLayout());     add(panelFenetre);     setVisible(true);     panelFenetre.setVisible(true);     setSize(dimensionFenetre);      panelFenetre.add(getTable1(), getTable1Constraints()); }  private JTable getTable1() {      JTable table = new JTable(team, titleColumn);     table.setVisible(true);      return table; }  private GridBagConstraints getTable1Constraints() {      GridBagConstraints gbcTable1 = new GridBagConstraints(             0, 1,             1, 1,             1, 1,             GridBagConstraints.CENTER,             GridBagConstraints.NONE,             new Insets(0, 0, 0, 0),             0, 0);      return gbcTable1;   } }   

и простой главный:

 <код> public class Main {  public static void main(String[] args) {     MainView mainView = new MainView();   } }   

Если кто-то, у кого-то есть подсказки, это будет действительно здорово.

Спасибо заранее.

Английский оригинал

my question can seem a bit stupid but everytime i use swing, i got problems with tables. So im working on a school project, and i need to add some JTable to a JPanel with a GridBagLayout, but i can't see the JTable im Adding to my panel.

Here is the code :

public class MainView extends JFrame {      private static Dimension dimensionFenetre = new Dimension(1980, 1000);     Object[][] team = {         {"France", "80"},         {"Germany", "80"},         {"Italy", "80"},         {"England", "80"} };  String  titleColumn[] = {"Team", "Overall"};  public MainView() {      JPanel panelFenetre = new JPanel(new GridBagLayout());     add(panelFenetre);     setVisible(true);     panelFenetre.setVisible(true);     setSize(dimensionFenetre);      panelFenetre.add(getTable1(), getTable1Constraints()); }  private JTable getTable1() {      JTable table = new JTable(team, titleColumn);     table.setVisible(true);      return table; }  private GridBagConstraints getTable1Constraints() {      GridBagConstraints gbcTable1 = new GridBagConstraints(             0, 1,             1, 1,             1, 1,             GridBagConstraints.CENTER,             GridBagConstraints.NONE,             new Insets(0, 0, 0, 0),             0, 0);      return gbcTable1;   } } 

And a simple Main :

public class Main {  public static void main(String[] args) {     MainView mainView = new MainView();   } } 

If someone, have some clues, it will be really great.

Thanks by advance.

</div
           

Список ответов

2
 
vote
vote
Лучший ответ
 
  1. Не звоните <код> setSize() , а скорее <код> pack() После добавления компонентов, чтобы менеджеры макета выполняют работу.
  2. сначала добавьте jtable на jscrollpane, а затем добавьте это в графический интерфейс.
  3. Самые важные, не звоните <Код> setVisible(true) на Jframe до После Добавление всех компонентов.

работает нормально для меня:

 <код> public MainView() {     JPanel panelFenetre = new JPanel(new GridBagLayout());     add(panelFenetre);      // setVisible(true);     // panelFenetre.setVisible(true);     // setSize(dimensionFenetre);      panelFenetre.add(new JScrollPane(getTable1()), getTable1Constraints());             pack();     setLocationRelativeTo(null);     setVisible(true); }   
 
  1. Don't call setSize() but rather pack() after adding components to let the layout managers do their jobs.
  2. Add the JTable to a JScrollPane first, then add that to the GUI.
  3. Most important, don't call setVisible(true) on the JFrame until after adding all components.

Works fine for me:

public MainView() {     JPanel panelFenetre = new JPanel(new GridBagLayout());     add(panelFenetre);      // setVisible(true);     // panelFenetre.setVisible(true);     // setSize(dimensionFenetre);      panelFenetre.add(new JScrollPane(getTable1()), getTable1Constraints());             pack();     setLocationRelativeTo(null);     setVisible(true); } 
</div
 
 
     
     

Связанный проблема

4  403 доступ запрещен на указанный URL в Tomcat 7.0.52  ( 403 access denied to specified url in tomcat 7 0 52 ) 
Я недавно мигрировал сервер Tomcat из <код> 7.0.49 на <код> 7.0.52 . В Tomcat он содержит 2 веб-приложений, которые работали ранее, после миграции на эту вер...

2  Изменить формат дата в DTO JSON на возвращении через @Responsebode  ( Change date format in dto json on returning through responsebody ) 
Я просто хочу изменить формат даты в моем DTO, возвращенный @Responseboodbody Мой вопрос не Этот вопрос как мой выход Список JSON и я печатаю его по почте...

2  Мой бар jmenu не показывает  ( My jmenu bar is not showing up ) 
Мой jmenubar не показывает, когда я запускаю свое приложение. Как я могу это исправить ?? Поэтому, когда я бегу свой Jframe, мне нужно увидеть мой jmenubar ...

1  Libgdx setscreen () сбивает игру, когда сделано несколько раз  ( Libgdx setscreen crashes game when done multiple times ) 
У меня есть <код> GameScreen и после окончания уровня, я устанавливаю экран обратно в <код> GameScreen как перезапустить , когда пользовательская кнопка пе...

4  Ссылка метода против лямбда экспрессия  ( Method reference vs lambda expression ) 
Я хочу заменить лямбда выражение по ссылке метода в примере ниже: <код> public class Example { public static void main(String[] args) { ...

0  Прокрутите вверх относительной макета при прокрутке вверх по просмотру  ( Scroll up relative layout when scrolling up listview ) 
Я создаю приложение. и пользовательская информация отображается в относительной макете. При относительной макете - это список с элементами, создаваемыми польз...

-3  Как прекратить воспроизведение сервиса в Android  ( How to stop playing service in android ) 
У меня есть вопрос о сервисе и трансляции в Android.I Создайте страницу будильника, которые используя класс тревоги Reciver (он расширяет класс трансляции) дл...

1  Неправильное количество прошедших args, но я передаю правильную сумму  ( Wrong number of args passed but i pass the correct amount ) 
Я использую quil с cljure и получаю странную ошибку. Я получаю ошибку <код> Exception in :draw function: #error { :cause Wrong number of args (1) pass...

3  Итализация через хесмап: «Для» петля с использованием произвольного доступа или итератора?  ( Iterating over a hashmap for loop using random access or iterator ) 
Мне нужно повторить через хешмап, чтобы извлекать значения, хранящиеся в нем. Как бонус, у меня также есть список клавиш. Поэтому у меня есть возможность по...

0  Передаваемые данные из другого потока, медленно последовательная связь с библиотекой Java и RxTx  ( Transmitting data from another thread slow serial link with java and rxtx libra ) 
<Р> Хорошо, я постараюсь быть как можно более ясно с моей проблемой. Я передача последовательных данных по veeeeeeery медленного радиоканала (с помощью UART-ко...

26  Как добавить кнопку в ряд jtable в качелях java  ( How to add button in a row of jtable in swing java ) 
Я сделал один важный графический интерфейс, который имел jtable с некоторыми строками и столбцами. Как я должен добавить кнопку для строки в JTable? ...

1  Я хочу, чтобы мой NPC посмотреть в направлении, на котором я стою. Как бы я сделал это наиболее эффективно?  ( I want my npc to look in the direction i am standing at how would i do this mos ) 
В настоящее время я строю 2D игру с Slick2D, и сейчас я реализую свой первый NPC. У меня уже есть спрайты, я смог нарисовать его, были столкновения, и так д...

16  Enum внутри jsp [дубликат]  ( Enum inside a jsp ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже есть ответы здесь : ...

16  Обычная задача Android (эквивалент Cronjob)  ( Android regular task cronjob equivalent ) 
Последний раз, когда этот вопрос был задан (другим пользователем), ответ ответа был: Если это работает в беговой активности, вы можете использовать таймер ...

-1  Как установить Jlint-3.0 на Ubuntu 14.04.2? [Дубликат]  ( How to install jlint 3 0 on ubuntu 14 04 2 ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже есть ответы здесь : ...

Связанный проблема

4  403 доступ запрещен на указанный URL в Tomcat 7.0.52 
2  Изменить формат дата в DTO JSON на возвращении через @Responsebode 
2  Мой бар jmenu не показывает 
1  Libgdx setscreen () сбивает игру, когда сделано несколько раз 
4  Ссылка метода против лямбда экспрессия 
0  Прокрутите вверх относительной макета при прокрутке вверх по просмотру 
-3  Как прекратить воспроизведение сервиса в Android 
1  Неправильное количество прошедших args, но я передаю правильную сумму 
3  Итализация через хесмап: «Для» петля с использованием произвольного доступа или итератора? 
0  Передаваемые данные из другого потока, медленно последовательная связь с библиотекой Java и RxTx 
26  Как добавить кнопку в ряд jtable в качелях java 
1  Я хочу, чтобы мой NPC посмотреть в направлении, на котором я стою. Как бы я сделал это наиболее эффективно? 
16  Enum внутри jsp [дубликат] 
16  Обычная задача Android (эквивалент Cronjob) 
-1  Как установить Jlint-3.0 на Ubuntu 14.04.2? [Дубликат]