2011-12-11 8 views
1

かなり複雑なテキストインターフェイスを備えた大規模なJavaプロジェクト(Java 6ではSQLバックアップの人事システム)があります。例えば、ユーザは、人物のオプションを選ぶメインクラスでは、このコードを呼び出します。テキストユーザーインターフェイスをGUI(Java)に変換(または適応)するには

int choice = new Integer(line); 
    if(choice >= 1 && choice <= 13){ 
     exit = false; 
     models[choice - 1].showMenu(); 
    } 

をし、それは最終的にはそのコンストラクタのようになりますPersonクラスを呼び出します:

public Person(Connection con){ 
    conn = con; 
    item = "Person"; 
    count = getLastID() + 1; 
    } 

そして、人の情報のすべてを取得するためのサンプルメニューオプションがそうのようになります。

protected void queryGetAll(){ 
     Statement stmnt = null; 
     // create prepared statement 
     try { 
      stmnt = conn.createStatement(); 
      ResultSet result = stmnt.executeQuery("SELECT * FROM person"); 
      System.out.println(""); 
      System.out.println(""); 
      System.out.println(" *****************  LIST OF ALL PERSONS  ***************** "); 
      System.out.println(""); 
      while(result.next()){ 
       System.out.print(" ID: " + result.getString("per_id") + " | "); 
       System.out.print(" NAME: " + result.getString("name") + " | "); 
       System.out.print(" STREET: " + result.getString("street") + " | "); 
       System.out.print(" CITY: " + result.getString("city") + " | "); 
       System.out.print(" ZIP CODE: " + result.getString("zip_code") + " | "); 
       System.out.print(" E-MAIL: " + result.getString("email") + " | "); 
       System.out.println(" GENDER: " + result.getString("gender")); 
      } 
      System.out.println(""); 
      System.out.println(""); 
      stmnt.close(); 
     } catch(SQLException ex) { 
      System.err.println("SQLException: " + ex.getMessage()); 
     } 
    } 

私はGUIの構築が容易になりNetBeansのGUIを使用して、にこの全体のTUIを変換したいです。問題は、私はすなわち、その結果を「つかむ」する方法がわからないで、私はここにGUIコードに入れてください:

this.textBox.setText("The person's information" + iDontKnowWhatsHere ); 

は、ここには回避策はありますか?デフォルトでコンソールに置かれているものをつかむことができ、それをGUIのテキストボックスに撃つだけなら、それをやりたいと思うでしょう。すべてのガイダンス/ヒントありがとう

+0

(JTableはまた、列とデータを渡すためのコンストラクタを持っている)モデルに基づいてDefaultTableModelをJTableのを作成するには、これはハード右であると思い..I? – Coffee

+1

あなたが話しているシステムには、非常に多くの不思議要因があると思います。 Netbeansは同じ量の不思議な要素を追加します。私の経験から、UIを設計するためのツールを使用することは悪いことではありません。あなた自身を作成し​​てください... – Kowser

+0

"不思議の国のアズレイファイラ"というのは、私が望むようにこれを行うにはあまりにも複雑で面倒です。私は自分のGUIを設計することができません、それはあまりにも(10以上のクラス).. – Coffee

答えて

2

で見ることができ

JLabel lblID= new JLabel(); 
lbl.setText(result.getString("per_id")); 
JLabel lblName = new JLabel(); 
lblName.setText(result.getString("name")); 

:次に、あなたのクエリの結果に基づいて、これらのラベルの値を設定することができますJTableです。

列の名前として1つのベクトルのベクトルを作成し、テーブルデータのベクトルのVectorを作成します。 メインベクトルには行(ベクトルも含む)が含まれ、各rowVectorにはすべての行値が含まれます。

その後

+1

私は本当に理解していないが、それは良い解決策であるようだ。 JTableは私が推測するポップアップウィンドウですか? – Coffee

+1

http://docs.oracle.com/javase/tutorial/uiswing/components/table.htmlまたはhttp://www.java2s.com/Tutorial/Java/0240__Swing/1000__JTable.htm – StanislavL

2

TUIをGUIに「変換」できるようなものはありません。 Swingでは、JLabelを使用する必要があります。 1人の人のデータだけを表示したい場合は、lblID、lblNameなどの各プロパティに異なるJLabelを作成できます。あなたが複数の人の結果を表示したい場合、あなたは私がここで最も適切な構成要素を考えるJTable

関連する問題