javaSwing组件显示查找数据的框架代码:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import com.gxuwz.dao.ChatDao;
import com.gxuwz.model.Chat;
public class SearchFrame extends JFrame{
private static final long serialVersionUID = 1L;
private JTextArea info;//显示消息
private JTextField msg;//
private JButton send;//发送消息
private List<Chat> list=new ArrayList<Chat>();
public SearchFrame(){
this.setTitle("查看");
this.setSize(300,200);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
//创建各组件对象
info=new JTextArea();
info.setEditable(false);
JScrollPane jsp=new JScrollPane(info);
msg=new JTextField();
send=new JButton("查找");
//将各组件添加到窗体中
this.add(jsp,BorderLayout.CENTER);
JPanel pnl=new JPanel(new BorderLayout());
pnl.add(msg,BorderLayout.CENTER);
pnl.add(send,BorderLayout.EAST);
this.add(pnl,BorderLayout.NORTH);
//处理发送按钮的点击
send.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ChatDao chatDao=new ChatDao();
list=chatDao.findAllChat(msg.getText());
new Thread(new Runnable() {
public void run() {
initChat();
}
}).start();
}
});
//显示
this.setVisible(true);
}
public void initChat(){
info.append("姓名\t聊天内容\t发送时间\n");
for (int i = 0; i <list.size(); i++) {
info.append(list.get(i).getName()+"\t");
info.append(list.get(i).getSpeek()+"\t");
info.append(list.get(i).getDate()+"\t\n");
}
}
public static void main(String[] args) {
new SearchFrame();
}
}
javaSwing组件显示聊天界面发送消息数据的框架代码:public class ChatFrame extends JFrame{
private static final long serialVersionUID = 1L;
private JTextArea info;//显示消息
private JTextField msg;//
private JTextField username;
private JButton send;//发送消息
public ChatFrame(){
this.setTitle("聊天窗口");
this.setSize(300,200);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
//创建各组件对象
info=new JTextArea();
info.setEditable(false);
JScrollPane jsp=new JScrollPane(info);
username=new JTextField("花花");
msg=new JTextField();
send=new JButton("发送");
//将各组件添加到窗体中
this.add(jsp,BorderLayout.CENTER);
JPanel pnl=new JPanel(new BorderLayout());
pnl.add(username,BorderLayout.WEST);
pnl.add(msg,BorderLayout.CENTER);
pnl.add(send,BorderLayout.EAST);
this.add(pnl,BorderLayout.SOUTH);
//处理发送按钮的点击
send.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Chat chat=new Chat(username.getText(),msg.getText(),DateUtil.getDate(new Date()));
ChatDao chatDao=new ChatDao();
chatDao.add(chat);
new Thread(new Runnable() {
public void run() {
initChat();
}
}).start();
}
});
//显示
this.setVisible(true);
}
public void initChat(){
info.append(username.getText()+"说:"+msg.getText()+"\n");
info.append(DateUtil.getDate(new Date()));
}
public static void main(String[] args) {
new ChatFrame();
}
}
聊天的实体类:
public class Chat {
private String name;
private String speek;
private String date;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSpeek() {
return speek;
}
public void setSpeek(String speek) {
this.speek = speek;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public Chat(String name, String speek, String date) {
super();
this.name = name;
this.speek = speek;
this.date = date;
}
public Chat() {
super();
}
@Override
public String toString() {
return "Chat [name=" + name + ", speek=" + speek + ", date=" + date
+ "]";
}
}
连接SQLite数据库的类:
public class Date {
public static Connection getConnection(){
Connection conn=null;
try {
Class.forName("org.sqlite.JDBC");
conn =DriverManager.getConnection("jdbc:sqlite://e:/demo.db");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
}
对数据库的数据进行操作的类:
public class ChatDao {
Connection conn=Date.getConnection();
/**
* 添加聊天记录信息
* @param chat
*/
public void add(Chat chat){
try {
PreparedStatement prep = conn.prepareStatement(
"insert into chat values (?,?,?);");
prep.setString(1, chat.getName());
prep.setString(2, chat.getSpeek());
prep.setString(3, chat.getDate());
prep.addBatch();
conn.setAutoCommit(false);
prep.executeBatch();
conn.setAutoCommit(true);
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 查找所有的聊天信息
* @return
*/
public List<Chat> findAllChat(String name){
List<Chat> list=new ArrayList<Chat>();
String sql="select * from chat where name=?";
PreparedStatement prep=null;
try {
prep=conn.prepareStatement(sql);
prep.setString(1, name);
ResultSet rs=prep.executeQuery();
while(rs.next()){
Chat chat=new Chat();
chat.setName(rs.getString("name"));
chat.setSpeek(rs.getString("speek"));
chat.setDate(rs.getString("date"));
list.add(chat);
}
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
}
这篇博客介绍了如何利用JavaSwing组件与SQLite数据库进行交互,展示了用于显示和查找数据的框架代码,提供了聊天实体类的相关信息。
1万+

被折叠的 条评论
为什么被折叠?



