14.微信项目(聊天与登入功能)
<聊天界面>
import javax.swing.*; import java.awt.*; public class panel extends JFrame{ public panel(){ this.setSize(400,400); //长宽 this.setLocationRelativeTo(null); //居中 //设置按钮框 JButton Send=new JButton("发送"); JComboBox List=new JComboBox(); //当设置多选框的时候,多选框自己带一个组件 List.addItem("张三"); List.addItem("李四"); List.addItem("王二"); //设置文本文框 JTextField Front=new JTextField(); JTextArea Gitee=new JTextArea(); //设置滑轮操作 JScrollPane Roll=new JScrollPane(Gitee); //添加滑轮的时候,要注意我们添加到哪里,就把添加的对象放进去 //进行多选框和发送合体 JPanel jp1=new JPanel(); jp1.setLayout(new GridLayout(1,2)); jp1.add(List); jp1.add(Send); //进行上框和多选框的合体 JPanel jp2=new JPanel(); jp2.setLayout(new GridLayout(2,1)); jp2.add(Front); jp2.add(jp1); //进行上下框进行合体 JPanel jp3=new JPanel(); jp3.setLayout(new GridLayout(1,1)); jp3.add(jp2); //开始合并 this.setLayout(new BorderLayout()); this.add(jp3,BorderLayout.NORTH); this.add(Roll,BorderLayout.CENTER); //只需要写一个滑轮的即可 } }
<主界面>
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.*; public class Student extends JFrame implements ActionListener { //按钮 JButton jb1 = new JButton("查询"); JButton jb2 = new JButton("删除"); JButton jb3 = new JButton("增加"); JButton jb4 = new JButton("更改"); JButton jb5 = new JButton("登入"); JButton jb6 = new JButton("退出"); //输入框 JTextField Tid = new JTextField(); JTextField Tna = new JTextField(); JTextField Tse = new JTextField(); JTextField Tbi = new JTextField(); JTextField Tph = new JTextField(); public JButton getJb1() { return jb1; } public JButton getJb2() { return jb2; } public JButton getJb3() { return jb3; } public JButton getJb4() { return jb4; } public JButton getJb5() { return jb5; } public JButton getJb6() { return jb6; } public JTextField getTid() { return Tid; } public JTextField getTna() { return Tna; } public JTextField getTse() { return Tse; } public JTextField getTbi() { return Tbi; } public JTextField getTph() { return Tph; } //设置框架 public Student() { this.setSize(450, 400); this.setLocationRelativeTo(null); //设置按钮布局 JPanel Button = new JPanel(); Button.setLayout(new FlowLayout()); Button.add(jb5); Button.add(jb1); Button.add(jb2); Button.add(jb3); Button.add(jb4); Button.add(jb6); //设置标签 JLabel id = new JLabel("学号"); JLabel name = new JLabel("姓名"); JLabel sex = new JLabel("性别"); JLabel birthday = new JLabel("生日"); JLabel phone = new JLabel("电话"); //设置输入框 //进行文本框整合 JPanel Information = new JPanel(); Information.setLayout(new GridLayout(5, 2)); Information.add(id); Information.add(Tid); Information.add(name); Information.add(Tna); Information.add(sex); Information.add(Tse); Information.add(birthday); Information.add(Tbi); Information.add(phone); Information.add(Tph); //进行整体汇总 this.setLayout(new BorderLayout()); this.add(Button, BorderLayout.SOUTH); this.add(Information, BorderLayout.CENTER); } @Override public void actionPerformed(ActionEvent e) { String id=this.getTid().getText(); String name=this.getTna().getText(); String sex=this.getTse().getText(); String birthday=this.getTbi().getText(); String phone=this.getTph().getText(); if(e.getActionCommand().equals(this.getJb1().getText())) //查询 { try { Class.forName("org.gjt.mm.mysql.Driver"); try { Connection cn= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/qq2","root","121788"); String sql="select *from student where id=?"; PreparedStatement ps=cn.prepareStatement(sql); ps.setString(1,id); ResultSet rs= ps.executeQuery(); if(rs.next()){ System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4)+" "+rs.getString(5)); }else{ JOptionPane.showMessageDialog(null,"未查询到相关信息"); //框体的形式输出 } } catch (SQLException throwables) { throwables.printStackTrace(); } } catch (ClassNotFoundException classNotFoundException) { classNotFoundException.printStackTrace(); } System.out.println("点击了查询"); }if(e.getActionCommand().equals(this.getJb2().getText())) //删除 { try { Class.forName("org.gjt.mm.mysql.Driver"); try { Connection cn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/qq2","root","121788"); String sql="delete from student where id=? and name=?"; PreparedStatement ps=cn.prepareStatement(sql); ps.setString(1,id); ps.setString(2,name); ps.executeUpdate(); ps=cn.prepareStatement("select *from student"); ResultSet rs=ps.executeQuery(); if(rs.next()){ System.out.println("删除的数据是:"+" "+rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4)+" "+rs.getString(5)); }else{ JOptionPane.showMessageDialog(null,"删除失败"); //框体的形式输出 } } catch (SQLException throwables) { throwables.printStackTrace(); } } catch (ClassNotFoundException classNotFoundException) { classNotFoundException.printStackTrace(); } System.out.println("点击了删除"); }if(e.getActionCommand().equals(this.getJb3().getText()))//增加 { try { Class.forName("org.gjt.mm.mysql.Driver"); try { Connection cn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/qq2","root","121788"); String sql="insert into student(id,name,sex,brithday,phone) values (?,?,?,?,?)"; PreparedStatement ps=cn.prepareStatement(sql); ps.setString(1,id); ps.setString(2,name); ps.setString(3,sex); ps.setString(4,birthday); ps.setString(5,phone); ps.executeUpdate(); ps=cn.prepareStatement("select *from student"); ResultSet rs=ps.executeQuery(); if(rs.next()){ System.out.println("创建了:"+" "+rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4)+" "+rs.getString(5)); }else{ JOptionPane.showMessageDialog(null,"未查询到相关信息"); //框体的形式输出 } } catch (SQLException throwables) { throwables.printStackTrace(); } } catch (ClassNotFoundException classNotFoundException) { classNotFoundException.printStackTrace(); } System.out.println("点击了增加"); }if(e.getActionCommand().equals(this.getJb4().getText()))//更改 { try { Class.forName("org.gjt.mm.mysql.Driver"); try { Connection cn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/qq2","root","121788"); String sql="update student set phone=? where id=?"; PreparedStatement ps=cn.prepareStatement(sql); ps.setString(1,phone); ps.setString(2,id); ps.executeUpdate(); ps=cn.prepareStatement("select *from student"); ResultSet rs=ps.executeQuery(); if(rs.next()){ System.out.println("更改了信息"+rs.getString(1)); }else{ JOptionPane.showMessageDialog(null,"更改失败!"); //框体的形式输出 } } catch (SQLException throwables) { throwables.printStackTrace(); } } catch (ClassNotFoundException classNotFoundException) { classNotFoundException.printStackTrace(); } System.out.println("点击了更改"); }if(e.getActionCommand().equals(this.getJb5().getText())) { try { Class.forName("org.gjt.mm.mysql.Driver"); try { Connection cn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/qq2","root","121788"); String sql="select *from student where id = ? and name = ? and sex = ? and brithday =? and phone = ?"; PreparedStatement ps=cn.prepareStatement(sql); ps.setString(1,id); ps.setString(2,name); ps.setString(3,sex); ps.setString(4,birthday); ps.setString(5,phone); ResultSet rs=ps.executeQuery(); if(rs.next()){ panel p=new panel(); p.setVisible(true); this.setVisible(false); }else{ JOptionPane.showMessageDialog(null,"信息错误"); //框体的形式输出 } } catch (SQLException throwables) { throwables.printStackTrace(); } } catch (ClassNotFoundException classNotFoundException) { classNotFoundException.printStackTrace(); } System.out.println("点击了登入"); }if(e.getActionCommand().equals(this.getJb6().getText())) { System.out.println("点击了退出"); System.exit(0); } } }
<主函数>
import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.*; public class hello { public static void main(String[] args) { //设置监听 hello h=new hello(); Student s=new Student(); s.getJb1().addActionListener(s); s.getJb2().addActionListener(s); s.getJb3().addActionListener(s); s.getJb4().addActionListener(s); s.getJb5().addActionListener(s); s.getJb6().addActionListener(s); s.setVisible(true); } }