2015-06-02 4 views
1

Я хочу добавить JTable в JScrollPane, но планшет не отображается. Может ли кто-нибудь помочь мне разобраться в этом?JTable заголовок не отображается в JScrollPane

  JScrollPane tablePane = new JScrollPane(); 
      tablePane.setViewportView(table); 
      tablePane.setRowHeaderView(table); 
      tablePane.setPreferredSize(new Dimension(950, 450)); 

      this.setPreferredSize(new Dimension(1100, 500)); 
      this.setLayout(new BorderLayout()); 
      this.add(BorderLayout.CENTER, tablePane); 

ответ

0

Ниже код должен помочь.

JScrollPane tablePane = new JScrollPane(table); //tablePane.setViewportView(table); //tablePane.setRowHeaderView(table);

+0

Да, это работает! Спасибо! проблема в этой строке: 'tablePane.setRowHeaderView (таблица);' Но я не знаю почему. – pilates

+0

Замечание без объяснений не является хорошим ответом. – Marc

0

Кажется, вы хотите, чтобы JTable прокручивался. Когда вы смотрите документацию JTable, вы заметите, что JTable уже прокручивается. Поэтому вам не нужно добавлять JTable в JScrollPane.

Кроме того, вы не должны добавить JTable, как ViewportViewи в RowHeaderView в JScrollPane одновременно. RowHeaderView JScrollPane не просто принимает RowHeaderView JTable. Вместо этого вы получите две JTables бок о бок. Чтобы исправить это, просто установите viewportView в JScrollPane или полностью покиньте JScrollPane и используйте JTable в качестве автономного контейнера.

+0

проблема эта строка: 'tablePane.setRowHeaderView (таблица); «Но я не знаю, почему. – pilates

+0

@pilates Я обновил свой ответ. Надеюсь, это понятно. – Marc

+0

Да, это понятно. но я думаю, вы не можете покинуть JScrollPane. – pilates

Смежные вопросы