一、消息弹窗封装
1、封装
package service;
import javax.swing.*;
public class MyMessage {
// 弹窗消息提示类
public MyMessage(String str){
SwingUtilities.invokeLater(() -> {
// 显示一个信息对话框
JOptionPane.showMessageDialog(null, str, "提示", JOptionPane.INFORMATION_MESSAGE);
});
}
}
2、调用
new MyMessage("保存失败");
二、数据库查询数据表格化显示
1、代码
package Dao;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.sql.*;
import java.util.Vector;
public class MyTable extends JFrame {
// 用于将查询数据表格化显示的Dao层工具类
public static JScrollPane MyTable(String name,String sql){
DefaultTableModel dt = new DefaultTableModel();
ResultSet rs= SelectDao.look(sql);
try {
ResultSetMetaData rsmd=rs.getMetaData();
// 控制表格列数
int numColumn=rsmd.getColumnCount()-1;
//设置表头
dt.addColumn("姓名");
dt.addColumn("电话");
dt.addColumn("性别");
dt.addColumn("邮箱");
dt.addColumn("类型");
dt.addColumn("住址");
// 循环给表的每一行填入数据
while (rs.next()){
Vector newRow = new Vector();
for (int i=1;i<=numColumn;i++){
newRow.addElement(rs.getString(i));
}
dt.addRow(newRow);
}
}catch (Exception ee){
ee.printStackTrace();
}finally {
try {
rs.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
JTable table=new JTable();
table.setModel(dt);
table.setRowHeight(20);
table.setFont(new Font("宋体",Font.CENTER_BASELINE,18));
return new JScrollPane(table);
}
}
package Dao;
import conn.DataBase;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
public class SelectDao {
// 用于查询的数据库操作方法
public static ResultSet look(String sql){
ResultSet rs = null;
Connection conn;
Statement stm;
try {
conn= DataBase.getConn();
stm=conn.createStatement();
rs=stm.executeQuery(sql);
}catch (Exception e){
e.printStackTrace();
}
return rs;
}
}
2、讲解
- 拿到ResultSet,通过getMetaDate()方法转换为ResultSetMetaDate类型
- 设置表头及列数
- 通过Vector设置每一行的值
- 封装成JScrollPane
三、下拉选择框JComboBox
1、代码及说明
//创建字符数组
String[] typee = {"朋友", "家人", "同事", "好友"};
//固定格式()中填入数组名
JComboBox<String> comboBo = new JComboBox<>(typee);
comboBo.addActionListener(ee -> {
//固定格式
JComboBox<String> comboBox1 = (JComboBox<String>) ee.getSource();
//获取被选择值,赋值给提前创建好的变量
type = (String) comboBox1.getSelectedItem();
});