今天星期四,参加培训的第三十五天,还是和昨天一样,没有什么改变,忘记早上看的什么,好像是什么ifelse什么的,然后到教室开始看mysql没有别的什么。
mysql的什么呢,对数据库的操作,什么创建database,drop,alert,对表的操作什么的,alter,modify,create,describe,show,还有数据库的运算符什么的,别的好像没有什么了,好像是没有什么状态,自己的程序做了一点点,没有什么进度,也还好吧,今天分个,服务器和客户端,然后弄个对话聊天就结束吧,没有什么好写的了,无从下手,我记的有人写过这个视频,所以去看下,然后模仿弥补一下自己的不足,嗯,就是这样。好的。
我想起今天为什么没有效率了,数据库有问题,什么密码不对什么的错误,原因呢就是在用 properties文件的时候,好像是最后,加了空格什么的,导致密码错了,无所谓了,就是一上午罢了,也没有别的什么。
还有什么好说的呢,也没有别的什么了,就随便贴个代码吧。
简陋的qq主界面代码:
package view;
import java.awt.AWTException;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.MouseInfo;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.util.ArrayList;
import java.util.List;
import javax.swing.BorderFactory;
import javax.swing.DefaultListModel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ListCellRenderer;
import dao.UserDao;
import entity.User;
import util.ImagePanelUtil;
import util.MessagePanelUtil;
import util.MyListCellRendererUtil;
public class MainView extends JFrame {
private static int x;
private static int y;
private static TrayIcon trayIcon = null;
private static SystemTray tray = SystemTray.getSystemTray();
private UserDao userDao = new UserDao();
private String account;
private List<User> userList = new ArrayList<>();
private JList jlst;
public MainView(String account) {
// TODO Auto-generated constructor stub
// setSize(350, 700);
this.account=account;
setBounds(1000, 30, 300, 700);
// frame.setTitle("qq注册");
setUndecorated(true);//不显示标题栏
setType(JFrame.Type.UTILITY);//不在任务栏显示
addMoveWindow();
Container container = this.getContentPane();
container.add(upPanel());
container.setLayout(new FlowLayout());
container.add(downPanel());
container.add(addFriend(this));
// container.setLayout(new GridLayout(0, 1));
setVisible(true);
}
public JPanel upPanel() {
User user =userDao.getUserByAccount(account);
JPanel upPanel = new ImagePanelUtil(300,150,"./image/他的妃.jpg");
upPanel.setLayout(new GridLayout(1, 2));
JPanel leftPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
JPanel rightPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
JButton jbtClose = new JButton("X");
Font font = new Font("宋体",Font.BOLD,20);
// jbtClose.setContentAreaFilled(false); 设置透明
jbtClose.setBorderPainted(false);
// jbtClose.setOpaque(false);
jbtClose.setFont(font);
jbtClose.setBackground(Color.WHITE);
jbtClose.setForeground(Color.black);
JButton jbtMin = new JButton("-");
jbtMin.setBackground(Color.WHITE);
jbtMin.setBorderPainted(false);
jbtMin.setFont(font);
ImageIcon image = new ImageIcon(user.getPhoto());
image.setImage(image.getImage().getScaledInstance(60, 60, Image.SCALE_DEFAULT));
JLabel photoLabel = new JLabel(image, JLabel.CENTER);
JPanel messagePanel = new MessagePanelUtil(user.getUsername());
messagePanel.setOpaque(false);
messagePanel.setPreferredSize(new Dimension(40, 40));
rightPanel.add(jbtMin);
rightPanel.add(jbtClose);
rightPanel.setOpaque(false);
leftPanel.add(photoLabel);
leftPanel.add(messagePanel);
leftPanel.setOpaque(false);
upPanel.add(leftPanel);
upPanel.add(rightPanel);
upPanel.setPreferredSize(new Dimension(300, 150));
jbtClose.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
});
jbtClose.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
jbtClose.setBackground(Color.RED);
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
jbtClose.setBackground(Color.WHITE);
}
});
jbtMin.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
setExtendedState(JFrame.ICONIFIED);
// setExtendedState(JFrame.MAXIMIZED_BOTH);//最大化窗体
}
});
return upPanel;
}
public DefaultListModel listModel() {
userList=userDao.getAllFriend(account);
int friendNumber=userList.size();
ImageIcon[] images = new ImageIcon[friendNumber];
String[] names = new String[friendNumber];
String[] accounts = new String[friendNumber];
for(int i=0;i<friendNumber;i++) {
images[i]=new ImageIcon(userList.get(i).getPhoto());
images[i].setImage(images[i].getImage().getScaledInstance(50, 50, Image.SCALE_AREA_AVERAGING));
names[i]=userList.get(i).getUsername();
accounts[i]=userList.get(i).getAccount();
}
DefaultListModel listModel = new DefaultListModel();
for(int i=0;i<friendNumber;i++) {
listModel.addElement(new Object[] {images[i],names[i]+"("+accounts[i]+")"});
}
return listModel;
}
public JScrollPane downPanel() {
// ImageIcon image = new ImageIcon("image/男.png");
// image.setImage(image.getImage().getScaledInstance(50, 50, Image.SCALE_AREA_AVERAGING));
// String name ="";
jlst = new JList(listModel());
jlst.setBorder(BorderFactory.createLineBorder(Color.blue, 0));
ListCellRenderer renderer = new MyListCellRendererUtil();
JLabel labelImage = new JLabel("",JLabel.CENTER);
jlst.setCellRenderer(renderer);
// jlst.setPreferredSize(new Dimension(300, 700));
JScrollPane jsPane = new JScrollPane(jlst);
jsPane.setPreferredSize(new Dimension(300, 500));
jsPane.invalidate();
return jsPane;
}
public void shuffList() {
jlst.setModel(listModel());
jlst.invalidate();
repaint();
}
public JPanel addFriend(MainView mainView) {
JPanel jPanel = new JPanel();
JButton jbtAddFriend = new JButton("添加好友");
jPanel.add(jbtAddFriend);
jbtAddFriend.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JFrame frame =new AddFriendView(account,mainView);
}
});
return jPanel;
}
public static void main(String[] args) {
JFrame frame = new MainView("10000019");
}
public void addMoveWindow() {
ImageIcon trayImg = new ImageIcon("image/他的妃.jpg");// 托盘图标
trayIcon = new TrayIcon(trayImg.getImage(), "test", new PopupMenu());
trayIcon.setImageAutoSize(true);
try {
tray.add(trayIcon);//显示托盘图标
} catch (AWTException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
trayIcon.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 1) {// 单击 1 双击 2
setVisible(true);
setExtendedState(JFrame.NORMAL);
toFront(); //此窗口可见
}
}
});
addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
setLocation((int)(MouseInfo.getPointerInfo().getLocation().getX()-x),
(int)(MouseInfo.getPointerInfo().getLocation().getY()-y));
}
});
addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
x=e.getX();
y=e.getY();
}
});
}
}
嗯,也没有别的什么好说的了,要去分离代码了,就这样,有什么,那就明天再说吧。结束。