如何使用java方法在UI中获取数据

时间:2017-01-19 18:26:21

标签: java

我已经编写了java方法来从数据库中提取数据,如何将这些数据带入用户界面。如何将这些方法连接到用户界面?

1 个答案:

答案 0 :(得分:1)

在这种情况下,我解释了如何在Frame中显示来自数据库的Employee信息。 NetBeans IDE用于创建此应用程序。

如何在新框架中显示Emp信息

要创建此应用,我们需要以下文件。

Java文件 ojdbc.jar文件 NetBeans IDE SQL表

<强> 1。 Java文件

这个Java包含编程代码。在此文件中,我们使用Swing组件在员工姓名选择后的新框架中显示emp数据。

我们能做什么

:一种。导入多个包

首先我们需要导入以下包:

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

Swing包用于挥杆组件。所有摆动组件都在此包中定义。 AWT包提供事件处理机制,换句话说,它处理诸如&#34;按钮单击&#34;之类的事件。 SQL包创建JDBC连接。

<强> B中。扩展JFrame组件并实施ActionListener

扩展JFrame组件并实施ActionListener,如下所示:

EmpSearchApp扩展JFrame实现ActionListener

<强>℃。声明组件

现在声明以下组件:

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

JButton b;

JTextField tf1, tf2, tf3, tf4;

JComboBox bx;
String str;

<强> d。声明帧组件

现在在默认构造函数中声明Frame组件,如下所示:

语法

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

注意:在虚线部分我们声明并添加Swing的各种组件;在这部分中,JDBC代码也用于从JComboBox中可以使用的数据库表中获取Emp名称。完整的代码我会在这里向您展示;我只会总结一下你能做些什么。

<强> d。添加ActionListener

为按钮单击事件添加ActionListener,如下所示:

public void actionPerformed(ActionEvent e) {

                   showData();
            }

注意:如果我们有多个按钮,那么我们可以使用&#34; if (e.getSource() == buttonName)&#34;。但在这个应用程序中,我只能使用一个按钮&#34; Submit&#34;所以不需要使用&#34; e.getSource&#34;。我使用了一种方法&#34; showData()&#34;。在那个方法中,我写了新的帧代码。

<强>电子。创建一个新框架

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方法并运行构造函数

最后,创建一个main方法并运行构造函数,如下所示:

public static void main(String arr[]) {

        new EmpSearchApp();
    }

<强> 2。 ojdbc.jar文件

此JAR文件提供了一种与Oracle数据库建立Java连接的方法。由于JDBC连接由Oracle Server供应商提供,因此我们需要在库文件夹中导入此JAR文件。

第3。 NetBeans IDE

此IDE用于创建此应用程序。由于我们可以选择,我们可以使用任何文本编辑器创建此应用程序,如Notepad,Notepad ++等。但是通过使用NetBeans,我们可以创建Frame并直接添加&#34; button&#34;,&#34; label&#34;等等组件,而无需编写代码。我在之前的文章&#34; Netbeans IDE的优点&#34;中解释了IDE的优点。通过它你可以看到差异。

<强> 4。 emp.sql表

为了获取记录,我们需要一个数据库表;为此我们创造了一个&#34; emp&#34;在我们的&#34; freeman&#34;数据库中。

语法

emp.sql

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

在其中插入一些行,如下所示:

1. insert into emp values ('freeman', 'test@tt.com', 'welcome', 'Iran');

2. insert into emp values ('sam', 'sam@ss.com' , '555', 'USA');

现在让我们开始创建这个应用程序。使用以下过程在NetBeans IDE中执行此操作。

第1步

打开NetBeans IDE。

第2步

选择&#34; Java&#34; - &GT; &#34; Java应用程序&#34;如下图所示。

enter image description here

第3步

提供&#34; EmpSearchApp&#34;对于您的项目名称,如下所示,然后单击&#34;完成&#34;。

enter image description here

第4步

创建一个新的Java Class&#34; EmpSearchApp&#34;以下内容。

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步

现在您的项目已准备就绪。

右键单击项目菜单,然后选择&#34;运行&#34;。生成以下输出。

祝你好运