2012-04-11 10 views
1

私はスイングするのが初めてで、私はクラスワークの一部として作業を始めました。質問が無関係なら、私を許してください。 私はフレーム上のデータベースからいくつかのデータを含むテーブルを配置しようとしています。私が行ったことは、JFrameフォームを作成したことです。このフォームは空白です。今私は、テーブルを作成し、スクロールペインに配置し、最後に私のフレームにこのスクロールペインを追加しようとしています。スイングでフレームをテーブルに追加

現在のフレームから新しいフレームを作成してテーブルを表示することができます。しかし、私が望むのは、現在のJframeフォームにテーブルを追加することです。ここで

は、私がやっていることです:

package com.air.form; 
import com.air.db.Transaction; 
import java.sql.ResultSet; 
import java.sql.ResultSetMetaData; 
import java.util.Vector; 
import javax.swing.JScrollPane; 
import javax.swing.JTable; 



public class FlightDetails extends javax.swing.JFrame { 


    /** Creates new form FlightDetails */ 

    public FlightDetails() { 
     initComponents(); 
    } 
    FlightDetails(String src,String dest) { 
     initComponents(); 
     initialise(src,dest); 
    } 

    @SuppressWarnings("unchecked") 
    // <editor-fold defaultstate="collapsed" desc="Generated Code"> 
    private void initComponents() { 

     setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 

     javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 
     getContentPane().setLayout(layout); 
     layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGap(0, 603, Short.MAX_VALUE) 
     ); 
     layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGap(0, 300, Short.MAX_VALUE) 
     ); 

     pack(); 
    } 


    public static void main(String args[]) 
    { 
     java.awt.EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       new FlightDetails().setVisible(true); 
      } 
     }); 
    } 
    private void initialise(String src, String dest) 
    { 
     Transaction tn=new Transaction(); 
     try 
     { 


      ResultSet result = tn.ReturnFlightDetails(src,dest); 
      ResultSetMetaData md = result.getMetaData(); 
      int columnCount = md.getColumnCount(); 

      Vector columns = new Vector(columnCount); 

      //store column names 
      for(int i=1; i<=columnCount; i++) 
      columns.add(md.getColumnName(i)); 

      Vector data = new Vector(); 
      Vector row; 

      //store row data 
      while(result.next()) 

      { 
       row = new Vector(columnCount); 
       for(int i=1; i<=columnCount; i++) 
       { 
        row.add(result.getString(i)); 
       } 
       data.add(row); 
      } 
      JTable table = new JTable(data, columns); 
      JScrollPane scrollPane = new JScrollPane(table); 
     } 
     catch(Exception e) 
     { 

     } 

    } 


} 
+0

:これは私はいくつかの余分なリンクを含めるに行く、宿題であるとして

.org /)( 'ResultSet'を表すためにいくつかのデータをハードコードします)。 –

+0

警告:このコードは変更しないでください。警告警告、壊れたコードでうっすらと聞こえる5行のコメントを削除してください。 –

答えて

4

JFrameがそれにComponent Sを追加するadd方法を持っているContainerです。レイアウトマネージャによっては、いくつかの制約も渡す必要があります。私はあなたのコードでそのような呼び出しのいずれかが表示されません。テーブルを作成するだけで、どのコンテナにも追加されません。 // sscce:[SSCCE](HTTPを投稿し、早いほど良いヘルプについて

関連する問題