2017-01-19 25 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包用於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 Swing的rious組件;在這部分中,JDBC代碼也用於從JComboBox中可用的數據庫表中獲取Emp名稱。我將在下面向您展示完整的代碼;我只會爲你總結我能做些什麼。

D.添加的ActionListener

的按鈕點擊事件添加的ActionListener,如下:

public void actionPerformed(ActionEvent e) { 

        showData(); 
      } 

注意:如果我們有多個按鈕,那麼我們就可以用 「if (e.getSource() == buttonName)」。但在這個應用程序中,我只能使用一個按鈕「Submit」,所以不需要使用「e.getSource」。我使用了一種方法「showData()」。在那個方法中,我寫了新的幀代碼。

E.創建一個新的框架

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.創建一個主要方法和運行構造

最後,創建一個主要方法和運行構造函數如下所示:

public static void main(String arr[]) { 

     new EmpSearchApp(); 
    } 

2. ojdbc.jar

此JAR文件提供了一種設置與Oracle數據庫的Java連接的方法。由於JDBC連接由Oracle服務器供應商提供,因此我們需要將這個JAR文件導入到我們的庫文件夾中。

3. NetBeans IDE中

這個IDE被用於創建該應用程序。由於我們有選擇,我們可以簡單地使用任何文本編輯器創建這個應用程序,如記事本,Notepad ++等等。但通過使用NetBeans,我們可以創建框架並直接添加「按鈕」,「標籤」等組件,而無需編寫代碼。我在之前的文章「Netbeans IDE的優點」中解釋了IDE的優點,通過它您可以看到差異。

4. emp.sql表

有關讀取,我們需要一個數據庫表中的記錄;爲此,我們在「freeman」數據庫中創建一個「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

現在,您的項目準備運行。

右鍵單擊項目菜單並選擇「運行」。將生成以下輸出。

好運

相關問題