2017-08-18 17 views
0

これは私のコード全体の一部です。私はボタンを押してムービーを表示し、新しいフレームに移動し、テーブルを表示する必要があります。その表のヘッダー/見出しの部分はありません。ヘッダーがJTableに表示されない

//Record Show 
    if(e.getSource()==ShowMovies){ 
     Frame frame = new JFrame("Show Movies"); 
     frame.setBounds(10, 20, 500, 500); 

     Container cntr = frame.getContentPane(); 
     cntr.setLayout(null); 
     frame.setVisible(true); 
     frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); 

     //f=new JFrame();  

     String col[] = {"ID","NAME","SALARY"}; 
     String data[][] = { 
       {"101","Amit","670000"},  
       {"102","Jai","780000"},  
       {"101","Sachin","700000"}};  

     JTable jt=new JTable(data,col);  
     jt.setBounds(100,40,300,300); 
     jt.setPreferredScrollableViewportSize(new Dimension(400,50)); 
     jt.setFillsViewportHeight(true); 
     JScrollPane jsp=new JScrollPane(jt); 
     frame.add(jt);  
    } 
+0

'JTable'のサイズを設定しないでくださいは、)' JScrollPane' .... –

+1

1のサイズを設定しましたヌルレイアウトを使わないでください!適切なレイアウトマネージャを使用してください!または 'setBounds(...)'。 2) 'JFrame'で' setVisible(true); 'を呼びます。 3)JFrameをJFrameに直接追加し、JFrameにJScrollPaneを追加します。Swingコンポーネントはコンテナに一度だけ追加できます(これはおそらく問題の解決策ですが、あなたの問題(または将来の問題)に関連しているので、推奨1,2に従ってください)、すなわちframe.add(jt);の代わりに 'frame.add(jsp);' – Frakcool

+0

@Frakcoolに感謝します。問題は解決しました。私はテーブルをjpannelに入れ、あなたの提案に従ってフレームにjpannelを追加します。問題は解決しました。ありがとうございました –

答えて

0

JTableをJScrollPaneに配置します。 null layoutを使用しないでください

add(new JScrollPane(jt)); 
2
  1. :これを試してみてください!適切なレイアウトマネージャを使用してください! setBounds(...)は使用しないでください。

  2. JFramesetVisible(true);は、以前にではなくすべての要素を追加した後にお電話ください。

  3. あなたが代わりにJFrameJScrollPaneを追加し、Swingコンポーネントのみ。これは多分あなたの問題を解決する(一度コンテナに追加しましたが、勧告1及び2に従うことができ、直接JFrameJTableを追加しています両方ともあなたの問題(または将来の問題)に関連しているようにしてください。

    変更:

    frame.add(jt); 
    

    へ:

    frame.add(jsp); 
    
+1

"変更:"と "To:"コードセクションが逆転していると思います。 – VGR

+0

@VGRあなたは正しいです、私は急いで私の答えを書いて、そのエラーを指していただきありがとうございます:)すでに訂正^ ^ – Frakcool

関連する問題