2017-01-19 4 views
-2

データベースからデータを取得するためのJavaメソッドがすでに用意されていますが、これらのデータをどのようにユーザーインターフェイスに読み込むのですか。これらのメソッドをユーザーインターフェイスに接続する方法は?Javaメソッドを使用してUIでデータを取得する方法

+0

あなたの質問は全く明らかではない、あなたのコードを投稿し、あなたの問題を説明することができ、このように私たちはあなたを助けるために到着することはできません –

答えて

1

ここでは、フレーム内のデータベースから社員情報を表示する方法を説明します。 NetBeans IDEはこのアプリケーションの作成に使用されます。私たちは、次のファイルを必要とする、このアプリを作成するための新しいフレームに

をEmpの情報を表示する方法を

Javaファイル ojdbc.jarファイル のNetBeans IDE SQLテーブル

1. Javaファイル

このJavaはプログラミングコードが含まれています。このファイルでは、Swingコンポーネントを使用して、従業員名の選択後に新しいフレームにempデータを表示します。我々は

A.インポート複数のパッケージを行うことができますどのような

まず、以下のパッケージをインポートする必要があります。

javax.swing.*; 
java.awt.*; 
java.awt.event.*; 
java.sql.*; 
java.util.Vector; 

スイングパッケージは、Swingコンポーネントのために使用されています。すべてのスイングコンポーネントはこのパッケージ内で定義されています。 AWTパッケージは、イベント処理メカニズムを提供します。つまり、「ボタンクリック」などのイベントを処理します。 SQLパッケージはJDBC接続を作成します。

B. JFrameコンポーネントを拡張しActionListener

JFrameコンポーネントを拡張実装し、以下のようActionListener実装:

クラスEmpSearchAppするJFrame器具ActionListener

C.を拡張しますコンポーネントを宣言する

は今、次のコンポーネントを宣言:次のように

JLabel l, l1, l2, l3, l4,l5; 

JButton b; 

JTextField tf1, tf2, tf3, tf4; 

JComboBox bx; 
String str; 

D.フレームコンポーネントは

今デフォルトコンストラクタでフレームコンポーネントを宣言する宣言:

構文

EmpSearchApp() 
{ 
...... 
...... 
try{ 
//JDBC CODE 
}Catch(Exception ex) 
{ 
System.out.println(ex) 
} 
...... 
} 

注:ドット部分では、vaを宣言して追加しますスイングの豊かな構成要素。この部分ではJDBCコードを使用して、JComboBoxで使用できるデータベーステーブルからEmp名を取得します。完全なコード私はここであなたを紹介します。私はあなたのために私ができることを要約するだけです。

D.はActionListenerを追加

ボタンのActionListenerを追加し、次のようにイベントをクリック:

public void actionPerformed(ActionEvent e) { 

        showData(); 
      } 

注:私たちは複数のボタンを持っているならば、私たちは "if (e.getSource() == buttonName)" を使用することができます。しかし、このアプリでは、単一のボタン "Submit"しか使用できないので、 "e.getSource"を使用する必要はありません。私は方法 "showData()"を使用しました。その方法で私は新しいフレームコードを書いた。

E.は、mainメソッドを作成し、新しいフレーム

Create a new Frame in the showData() method as in the following: 
public void showData() { 
......... 
try{ 
//JDBC CODE 
}Catch(Exception ex) 
{ 
System.out.println(ex) 
} 
......... 
} 

F.を作成し、実行してコンストラクタを

最後に、mainメソッドを作成し、次のようにコンストラクタを実行します。

public static void main(String arr[]) { 

     new EmpSearchApp(); 
    } 

2. ojdbc.jarファイル

このJARファイルは、Oracle DatabaseとのJava接続を設定する方法を提供します。 JDBC接続はOracle Serverのベンダーによって提供されるため、このJARファイルをライブラリフォルダにインポートする必要があります。

3のNetBeans IDE

このIDEは、このアプリケーションを作成するために使用されます。選択肢があるので、メモ帳、メモ帳++などのテキストエディタでこのアプリを簡単に作成できます。しかし、NetBeansを使用することで、フレームを作成し、 "button"、 "label"などのコードを記述することなく直接追加することができます。 IDEの利点については、以前の記事「Netbeans IDEの利点」で説明しましたが、その違いを見ることができます。

4. emp.sqlテーブル

我々はデータベーステーブルを必要とするレコードをフェッチします。そのために私たちは "フリーマン"データベースに "emp"テーブルを作成します。

構文

emp.sql

create table emp 
(
    uname varchar2(20), umail varchar2(30), 
    upass varchar2(20), ucountry varchar2(20) 
); 

次のようにそれにいくつかの行を挿入します。

1. insert into emp values ('freeman', '[email protected]', 'welcome', 'Iran'); 

2. insert into emp values ('sam', '[email protected]' , '555', 'USA'); 

それでは、このアプリの作成を開始しましょう。 NetBeans IDEで次の手順を実行します。

ステップ1

は、NetBeans IDEを開きます。

ステップ

2の "Java" を選択してください - > "Javaアプリケーション" 以下に示すように。

enter image description here

ステップ3

次のようにプロジェクト名に "EmpSearchApp" を提供し、 "完了" をクリックしてください。

enter image description here

ステップ4

次のように新しいJavaクラス "EmpSearchApp" を作成します。

EmpSearchApp.java 

import javax.swing.*; 

import java.awt.*; 

import java.awt.event.*; 

import java.sql.*; 

import java.util.Vector; 



public class EmpSearchApp extends JFrame implements ActionListener { 



    JLabel l, l1, l2, l3, l4, l5; 

    JButton b; 

    JTextField tf1, tf2, tf3, tf4; 

    JComboBox bx; 

    String str; 



    EmpSearchApp() { 

     setVisible(true); 

     setSize(700, 700); 

     setLayout(null); 

     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     setTitle("JDBC DEMO"); 



     l = new JLabel("Select Name:"); 

     b = new JButton("Submit"); 



     tf1 = new JTextField(); 

     tf2 = new JTextField(); 

     tf3 = new JTextField(); 

     tf4 = new JTextField(); 



     l.setBounds(20, 20, 200, 20); 

     b.setBounds(50, 50, 150, 30); 



     add(l); 

     add(b); 



     tf1.setEditable(false); 

     tf2.setEditable(false); 

     tf3.setEditable(false); 

     tf4.setEditable(false); 

     b.addActionListener(this); 



     try { 

      Class.forName("oracle.jdbc.driver.OracleDriver"); 

      Connection con = DriverManager.getConnection("jdbc:oracle:thin:@mcndesktop07:1521:xe", "freeman", "welcome"); 

      PreparedStatement ps = con.prepareStatement("select uname from emp"); 

      ResultSet rs = ps.executeQuery(); 

      Vector v = new Vector(); 

      while (rs.next()) { 

       String s = rs.getString(1); 



       v.add(s); 

      } 

      bx = new JComboBox(v); 

      bx.setBounds(240, 20, 200, 20); 

      add(bx); 



     } catch (Exception ex) { 

      System.out.println(ex); 

     } 



    } 



    public void actionPerformed(ActionEvent e) { 

     showData(); 

    } 



    public void showData() { 

     JFrame f1 = new JFrame(); 

     f1.setVisible(true); 

     f1.setSize(500, 500); 

     f1.setLayout(null); 

     f1.setTitle("JDBC DEMO"); 



     l5 = new JLabel("Displaying Emp Data:");  

     l5.setForeground(Color.red); 

     l5.setFont(new Font("Serif", Font.BOLD, 20)); 

     l1 = new JLabel("Emp Name:"); 

     l2 = new JLabel("Emp Email:"); 

     l3 = new JLabel("Emp pass:"); 

     l4 = new JLabel("Emp Country:"); 



     l5.setBounds(100, 50, 300, 30); 

     l1.setBounds(20, 110, 200, 20); 

     l2.setBounds(20, 140, 200, 20); 

     l3.setBounds(20, 170, 200, 20); 

     l4.setBounds(20, 200, 200, 20); 



     tf1.setBounds(240, 110, 200, 20); 

     tf2.setBounds(240, 140, 200, 20); 

     tf3.setBounds(240, 170, 200, 20); 

     tf4.setBounds(240, 200, 200, 20); 



     f1.add(l5); 

     f1.add(l1); 

     f1.add(tf1); 

     f1.add(l2); 

     f1.add(tf2); 

     f1.add(l3); 

     f1.add(tf3); 

     f1.add(l4); 

     f1.add(tf4); 



     str = (String) bx.getSelectedItem(); 

     try { 

      Class.forName("oracle.jdbc.driver.OracleDriver"); 

      Connection con = DriverManager.getConnection("jdbc:oracle:thin:@mcndesktop07:1521:xe", "freeman", "welcome"); 

      PreparedStatement ps = con.prepareStatement("select * from emp where uname=?"); 

      ps.setString(1, str); 

      ResultSet rs = ps.executeQuery(); 

      while (rs.next()) { 



       tf1.setText(rs.getString(1)); 

       tf2.setText(rs.getString(2)); 

       tf3.setText(rs.getString(3)); 

       tf4.setText(rs.getString(4)); 



      } 

     } catch (Exception ex) { 

      System.out.println(ex); 

     } 

    } 



    public static void main(String arr[]) { 

     new EmpSearchApp(); 

    } 
} 

ステップ5

今、あなたのプロジェクトを実行する準備ができています。

プロジェクトメニューを右クリックし、[実行]を選択します。次の出力が生成されます。

幸運

関連する問題