我已经编写了java方法来从数据库中提取数据,如何将这些数据带入用户界面。如何将这些方法连接到用户界面?
答案 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;如下图所示。
第3步
提供&#34; EmpSearchApp&#34;对于您的项目名称,如下所示,然后单击&#34;完成&#34;。
第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;。生成以下输出。
祝你好运