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)
        {

        }

    }


}
4

1 に答える 1

4

JFrameにsを追加Containerするメソッドがあるaです。レイアウトマネージャーによっては、いくつかの制約も渡す必要があります。私はあなたのコードにそのような呼び出しを見ません。テーブルを作成するだけで、どのコンテナにも追加しません。addComponent

これは宿題なので、いくつかの追加リンクを含めます。

于 2012-04-11T21:34:04.353 に答える