java界面做主类_Java-最原始的开发模式,数据模型+主界面(半成版)

1!!!!!!!!!!!!!!!!!!!!!!!!!!!!

//主界面

import javax.swing.*;

import com.mysql.jdbc.PreparedStatement;

import java.util.*;

import java.awt.*;

import java.awt.event.*;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

public class Test2 extends JFrame implements ActionListener{

JPanel jp1;

JPanel jp2;

JTable jt;

JButton jb1;

JButton jb2;

JButton jb3;

JButton jb4;

JTextField jtf;

JLabel jl;

JScrollPane js;

public static void main(String[] args) {

Test2 tt = new Test2();

}

public Test2() {

jp1 = new JPanel();

jl = new JLabel("用户名");

jtf = new JTextField(10);

jb1 = new JButton("查询");

jb1.setActionCommand("查询");

//注册监听

jb1.addActionListener(this);

//把按钮加入JPanel

jp1.add(jtf);

jp1.add(jl);

jp1.add(jb1);

//另一个JPanel

jp2 = new JPanel();

jb2 = new JButton("增加");

jb3 = new JButton("修改");

jb4 = new JButton("删除");

jp2.add(jb2);

jp2.add(jb3);

jp2.add(jb4);

//中间的表数据部分,移到了模型类去处理

//创建模型

studModel stud = new studModel();

//将模型添加进去!

jt = new JTable(stud);

js = new JScrollPane(jt);

this.add(js);

this.add(jp1,"North");

this.add(jp2,"South");

this.setSize(400, 300);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

@Override

public void actionPerformed(ActionEvent e) {

if(e.getActionCommand().equals("查询")) {

System.out.println("用户想查询");

}

}

}

2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

//数据模型类,新建一个类窗口,处于同一个包即可

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.Vector;

import javax.swing.table.*;

import com.mysql.jdbc.PreparedStatement;

public class studModel extends AbstractTableModel{

//连接数据库所需要的控件

Vector rowdata, columnNames;

PreparedStatement ps= null;

Connection ct= null;

ResultSet rs= null;

public studModel() {

columnNames = new Vector();

columnNames.add("学号");

columnNames.add("姓名");

columnNames.add("性别");

columnNames.add("年龄");

columnNames.add("专业");

rowdata = new Vector();

try {

Class.forName("com.mysql.jdbc.Driver");

ct = DriverManager.getConnection("jdbc:mysql://localhost:3306/stu?useSSL=false","root","root");

ps= (PreparedStatement) ct.prepareStatement("select * from stud");

rs =ps.executeQuery();

while(rs.next()) {

Vector hang = new Vector();

hang.add(rs.getString(1));

hang.add(rs.getString(2));

hang.add(rs.getString(3));

hang.add(rs.getInt(4));

hang.add(rs.getString(5));

//加入到rowdata中。

rowdata.add(hang);

}

} catch (Exception e) {

e.printStackTrace();

}

finally {

//关闭资源

try {

if(rs!=null){ rs.close();}

if(ps!=null){ps.close();}

if(ct!=null){ct.close();}

} catch (SQLException e) {

e.printStackTrace();

}

}

}

@Override

public int getColumnCount() {

// TODO Auto-generated method stub

return this.columnNames.size();

}

@Override

public int getRowCount() {

// TODO Auto-generated method stub

return this.rowdata.size();

}

@Override

public Object getValueAt(int row, int column) {

// TODO Auto-generated method stub

return ((Vector)this.rowdata.get(row)).get(column);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值