📄 findfriend.java
字号:
package Form;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.event.*;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import DataLayer.SqlHelper;
import business.*;
public class FindFriend extends JFrame {
/**
* Launch the application
* @param args
*/
private DefaultTableModel defaultModel;
private JTable table;
private ResultSet rs;
private JScrollPane scrollPane;
private SqlHelper sh = new SqlHelper();
private JPopupMenu pm = new JPopupMenu();
private JMenuItem look;
private JMenuItem find;
private JMenuItem addition;
private int userList;
private int friendNum;
private int userNum;
private Client parent;
//为窗体定义事件
public void register()
{
table.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e) {
// TODO 自动生成方法存根
int mods=e.getModifiers();
if((mods&InputEvent.BUTTON3_MASK)!=0)
{
pm.show(table, e.getX(),e.getY());
if(table.getSelectedRow()>=0)
friendNum = new Integer((String) table.getValueAt(table.getSelectedRow(), 0)).intValue();
}
}
});
//查看资料获取的事件
look.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(friendNum>=10000)
{
Info info = new Info(FindFriend.this,"",false,friendNum);
info.setVisible(true);
}
}
});
addition.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(userNum==friendNum)
{
JOptionPane.showMessageDialog(FindFriend.this, "不能加自己");
return;
}
Friend f = new Friend(userNum,friendNum);
if(f.addFriend()==0)
{
JOptionPane.showMessageDialog(FindFriend.this, "该用户已经是好友!");
}
else
{
JOptionPane.showMessageDialog(FindFriend.this, "加入成功");
parent.updateClient();
}
}
});
find.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
String input = JOptionPane.showInputDialog(null, "请输入要查询的账号", "Input", JOptionPane.QUESTION_MESSAGE);
if(input==null)
{
return;
}
int num = -1;
try
{
num = new Integer(input).intValue();
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(FindFriend.this, "该用户不用存在");
return;
}
if(User.getName(num)!=null||!User.getName(num).equals(""))
{
String sql = "SELECT userNum,userName,sex,isOnLine FROM tbl_Users where userNum ="+num+"order by isOnLine desc";
bind(sql);
}
}
});
}
//为表格做数据绑定
public void bind(String sql)
{
String Head[] = {"用户账号","用户名","性别","是否在线"};
Object info[][] = {};
try{
rs = sh.getQuery(sql);
defaultModel = new DefaultTableModel(info,Head);
table.setModel(defaultModel);//以该模型为基础建表
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);//将表设置成不自动调整列的宽度;使用滚动条。
TableColumn column;
table.add(pm);
column=table.getColumnModel().getColumn(0);
column.setPreferredWidth(100);
column=table.getColumnModel().getColumn(1);
column.setPreferredWidth(100);
column=table.getColumnModel().getColumn(2);
column.setPreferredWidth(100);
column=table.getColumnModel().getColumn(3);
column.setPreferredWidth(100);
while(rs.next()){
String userNum = rs.getString(1);
String userName = rs.getString(2);
String sex = rs.getString(3);
String online = "不在线";
if(rs.getInt(4)==1)
{
online = "在线";
}
defaultModel.addRow(new Vector());
defaultModel.setValueAt(userNum, defaultModel.getRowCount() - 1, 0);//填写记录
defaultModel.setValueAt(userName, defaultModel.getRowCount() - 1, 1);
defaultModel.setValueAt(sex, defaultModel.getRowCount() - 1, 2);
defaultModel.setValueAt(online, defaultModel.getRowCount() - 1, 3);
}
}catch(SQLException ex){
ex.printStackTrace();
}
}
//为窗体初始化
public void setup()
{
look = new JMenuItem("查看资料");
addition =new JMenuItem("加为好友");
find = new JMenuItem("精确查找");
pm.add(look);
pm.add(new JSeparator());
pm.add(addition);
pm.add(new JSeparator());
pm.add(find);
scrollPane = new JScrollPane(table);
add(scrollPane, BorderLayout.CENTER);
table = new JTable(3,5);
scrollPane.setViewportView(table);
String sql = "SELECT userNum,userName,sex,isOnLine FROM tbl_Users order by isOnLine desc";
bind(sql);
this.getContentPane().add(scrollPane);
register();
}
public FindFriend(Client parent ,int userNum) {
super("查找用户界面");
this.userNum = userNum;
this.parent = parent;
setBounds(100, 100, 411, 200);
sh.setStatement(sh.getConnection());
setup();
this.setResizable(false);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
dispose();
}
});
//
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -