您的位置:首页 > 其它

2015-8-18进一步修改

2015-08-18 10:15 330 查看
<pre name="code" class="java">ClientLogin


package Client;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.event.*;

public class ClientLogin extends JFrame implements ActionListener,ChangeListener{

JProgressBar progressBar;
Timer timer;
JLabel usename,password,pic;
JTextField jtf;
JPasswordField jpf;
JButton login,reset;
JPanel jpanel,picpanel;
ImageIcon image = new ImageIcon("images/ming.jpg");
JDialog dialog = new JDialog(ClientLogin.this,"登录验证");
JLabel label = new JLabel("正在验证,请等待",SwingConstants.CENTER);
public ClientLogin() {

// TODO Auto-generated constructor stub
usename = new JLabel("用户名:",SwingConstants.CENTER);
Font font = new Font("宋体",0, 12);//0代表正常、1代表粗体、2代表斜体、3代表粗斜体
usename.setFont(font);
password = new JLabel("密码:",SwingConstants.CENTER);
password.setFont(font);
jtf = new JTextField("请输入用户名",20);
jpf = new JPasswordField("请输入密码",20);
jpanel = new JPanel();
Border border = BorderFactory.createTitledBorder("用户登录界面");
jpanel.setSize(150, 100);
login = new JButton("登录");
login.addActionListener(this);
reset = new JButton("重置");
reset.addActionListener(this);
pic = new JLabel(image);
jpanel.setLayout(new GridLayout(3,2));
jpanel.setBorder(border);
jpanel.add(usename);
jpanel.add(jtf);
jpanel.add(password);
jpanel.add(jpf);
jpanel.add(login);
jpanel.add(reset);

setSize(300, 300);
setLayout(new GridLayout(2,1));
add(pic);
add(jpanel);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
int value=JOptionPane.showConfirmDialog(null, "确定要关闭吗?");
if (value==JOptionPane.OK_OPTION) {
System.exit(0);
}
}

});
setVisible(true);
int width = Toolkit.getDefaultToolkit().getScreenSize().width;
int height = Toolkit.getDefaultToolkit().getScreenSize().height;
setLocation((width-300)/2, (height-300)/2);
/*
* JAVA默认窗口向下是 Y轴正向  你把设置的 (height-300) 理解成 height/2 - 300/2 应该可以理解了吧   你的窗口左上角纵坐标坐标  就是你的屏幕高度一半  减去你窗口高度一半
*/

//dialog
label = new JLabel("正在验证,请稍后", JLabel.CENTER);
progressBar = new JProgressBar();
progressBar.setOrientation(JProgressBar.HORIZONTAL);
progressBar.setMinimum(0);
progressBar.setMaximum(10);
progressBar.setValue(0);
progressBar.setStringPainted(true);
progressBar.addChangeListener(this);
progressBar.setPreferredSize(new Dimension(300, 20));
progressBar.setBorderPainted(true);
timer = new Timer(500, new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
int value = progressBar.getValue();
if(value < progressBar.getMaximum()){
progressBar.setValue(++value);
}
else{
timer.stop();
dialog.dispose();
progressBar.setMaximum(0);
progressBar.setMaximum(10);
LoginVerificationInfo lvi = new LoginVerificationInfo(jtf);
lvi.VerificationInfo();
}
}
});

dialog.add(label,BorderLayout.NORTH);
dialog.add(progressBar);
dialog.setVisible(false);
Dimension scr = Toolkit.getDefaultToolkit().getScreenSize();
dialog.setLocation(scr.width/2,scr.height/2);
dialog.setSize(100, 100);
}

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JButton jbutton = (JButton)e.getSource();
if(jbutton == login){
dialog.setVisible(true);

timer.start();
System.out.println("用户点击登录 :\r\n    用户输入的用户名是"+jtf.getText()+"\r\n    用户输入的密码是"+jpf.getText());
}
if(jbutton == reset){
jtf.setText("");
jpf.setText("");
}
}

public static void main(String[] args) {
new ClientLogin();
}

class LoginVerificationInfo{
JTextField jtf;
public LoginVerificationInfo(JTextField fjtf) {
// TODO Auto-generated constructor stub
jtf = fjtf;
}
public void VerificationInfo(){
if(jtf.getText().equals("admin") && jpf.getText().equals("1234")){

System.out.println("登录成功,进入聊天页面");
ClientLogin.this.setVisible(false);
ChatTreeList ctl  = new ChatTreeList();
ctl.setVisible(true);
}
else if(jtf.getText().equals("")&&!jpf.getText().equals("")){
System.out.println("登录失败,用户名为空");
JOptionPane jop = new JOptionPane();
jop.showMessageDialog(ClientLogin.this,"登录失败,用户名为空,请重新输入","提示框",JOptionPane.ERROR_MESSAGE);
}
else if(!jtf.getText().equals("")&&jpf.getText().equals("")){
System.out.println("登录失败,密码为空");
JOptionPane jop = new JOptionPane();
jop.showMessageDialog(ClientLogin.this,"登录失败,密码为空,请重新输入","提示框",JOptionPane.ERROR_MESSAGE);
}else if(jtf.getText().equals("") && jpf.getText().equals("")){
System.out.println("登录失败,用户名和密码为空");
JOptionPane jop = new JOptionPane();
jop.showMessageDialog(ClientLogin.this,"登录失败,用户名和密码为空,请重新输入","提示框",JOptionPane.ERROR_MESSAGE);
}else if(jtf.getText().equals("admin") && !jpf.getText().equals("1234")){
System.out.println("登录失败,密码输入有误");
JOptionPane jop = new JOptionPane();
jop.showMessageDialog(ClientLogin.this,"登录失败,密码输入有误,请重新输入","提示框",JOptionPane.ERROR_MESSAGE);
}else if(!jtf.getText().equals("admin") &&jpf.getText().equals("1234")){
System.out.println("登录失败,用户名输入有误");
JOptionPane jop = new JOptionPane();
jop.showMessageDialog(ClientLogin.this,"登录失败,用户名输入有误,请重新输入","提示框",JOptionPane.ERROR_MESSAGE);
}else{
System.out.println("登录失败,用户名和密码输入有误");
JOptionPane jop = new JOptionPane();
jop.showMessageDialog(ClientLogin.this,"登录失败,用户名和密码输入有误,请重新输入","提示框",JOptionPane.ERROR_MESSAGE);
}

}

}

@Override
public void stateChanged(ChangeEvent e) {
// TODO Auto-generated method stub

}
}
</pre><pre name="code" class="java"><pre name="code" class="java">


package Client;

import java.awt.BorderLayout;

import java.awt.GridLayout;

import java.awt.Window;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import javax.swing.*;

import javax.swing.tree.*;

public class ChatTreeList extends JFrame implements MouseListener{

JTree tree;

JPanel myjpanel,menujpanel,jpanel;

ImageIcon myicon = new ImageIcon("images/狗.jpg");

ImageIcon menuicon1 = new ImageIcon("images/add.gif");

ImageIcon menuicon2 = new ImageIcon("images/delete.gif");

JLabel label,addlabel,namelabel,signaturelabel,deletelabel;

public ChatTreeList(){

super("聊天人员列表");

final DefaultMutableTreeNode root = new DefaultMutableTreeNode("好友列表");

tree = new JTree(root);

tree.putClientProperty("JTree.lineStyle" , "None");

tree.addMouseListener(this);

//设置是否显示根节点的“展开/折叠”图标,默认是false

tree.setShowsRootHandles(true);

//设置节点是否可见,默认是true

tree.setRootVisible(true);

label = new JLabel(myicon);

addlabel = new JLabel(menuicon1);

addlabel.addMouseListener(new MouseListener() {

@Override

public void mouseReleased(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mousePressed(MouseEvent e) {

// TODO Auto-generated method stub

final JDialog dialog = new JDialog();

JLabel label,grouplabel;

final JTextField jtf;

final JTextField groupjtf;

JButton jb1 = new JButton("确定");

JButton jb2 = new JButton("取消");

JPanel jpanel = new JPanel();

jpanel.add(jb1);

jpanel.add(jb2);

int value=JOptionPane.showConfirmDialog(null, "是否要添加分组");

if (value==JOptionPane.OK_OPTION) {

label = new JLabel("请输入要添加的分组");

groupjtf = new JTextField("",10);

dialog.add(label,BorderLayout.NORTH);

dialog.add(groupjtf,BorderLayout.CENTER);

dialog.add(jpanel,BorderLayout.SOUTH);

dialog.setSize(200, 200);

dialog.setVisible(true);

jb1.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

String groupname = groupjtf.getText();

DefaultMutableTreeNode group = new DefaultMutableTreeNode(groupname);

root.add(group);

dialog.setVisible(false);

}

});

jb2.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

dialog.dispose();

}

});

}else if( value==JOptionPane.CANCEL_OPTION){

label = new JLabel("请输入要添加的好友");

jtf = new JTextField("",10);

//
grouplabel = new JLabel("请输入要把好友添加到哪里");

//
groupjtf = new JTextField("",10);

//

dialog.add(label,BorderLayout.NORTH);

dialog.add(jtf,BorderLayout.CENTER);

dialog.add(jpanel,BorderLayout.SOUTH);

dialog.setSize(200, 200);

dialog.setVisible(true);

jb1.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

String name = jtf.getText();

DefaultMutableTreeNode group = new DefaultMutableTreeNode(name);

root.add(group);

dialog.setVisible(false);

tree.updateUI();

}

});

jb2.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

dialog.dispose();

}

});

}

}

@Override

public void mouseClicked(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseEntered(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseExited(MouseEvent e) {

// TODO Auto-generated method stub

}

});

deletelabel = new JLabel(menuicon2);

deletelabel.addMouseListener(new MouseListener() {

@Override

public void mouseReleased(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mousePressed(MouseEvent e) {

DefaultTreeModel model = (DefaultTreeModel)tree.getModel();

DefaultMutableTreeNode selectedNode

= (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();

if (selectedNode != null && selectedNode.getParent() != null)

{

//删除指定节点

model.removeNodeFromParent(selectedNode);

}

}

@Override

public void mouseExited(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseEntered(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseClicked(MouseEvent e) {

// TODO Auto-generated method stub

}

});

namelabel = new JLabel("祚");

signaturelabel = new JLabel("我为自己代言");

jpanel= new JPanel();

jpanel.setLayout(new GridLayout(2,1));

jpanel.add(namelabel);

jpanel.add(signaturelabel);

myjpanel = new JPanel();

myjpanel.setLayout(new GridLayout(1,2));

myjpanel.add(label);

myjpanel.add(jpanel);

myjpanel.setSize(100, 100);

menujpanel = new JPanel();

menujpanel.setLayout(new GridLayout(1,2));

menujpanel.add(addlabel);

menujpanel.add(deletelabel);

add(myjpanel,BorderLayout.NORTH);

add(new JScrollPane(tree),BorderLayout.CENTER);

add(menujpanel,BorderLayout.SOUTH);

pack();

setDefaultCloseOperation(EXIT_ON_CLOSE);

setVisible(true);

}

public static void main(String[] args) {

new ChatTreeList();

}

@Override

public void mouseClicked(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mousePressed(MouseEvent e) {

// TODO Auto-generated method stub

DefaultTreeModel model = (DefaultTreeModel)tree.getModel();

DefaultMutableTreeNode selectedNode

= (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();

if (selectedNode != null && selectedNode.getParent() != null)

{

String name = namelabel.getText();

ClientTalk ct = new ClientTalk(selectedNode.toString(), name);

ct.setVisible(true);

}

}

@Override

public void mouseReleased(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseEntered(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseExited(MouseEvent e) {

// TODO Auto-generated method stub

}

}



package Client;

import java.awt.BorderLayout;

import java.awt.Toolkit;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.*;

public class ClientTalk extends JFrame implements ActionListener{

JTextArea jta;

JScrollPane js;

JTextField jtf;

JButton send;

JPanel jp1,jp2;

// String[] chatlist = {"所有人","自己","范","李","张"};

JComboBox jcb;

String my;

public ClientTalk(String name,String myname){

super(name);

this.my = myname;

jta = new JTextArea("",10,30);

js = new JScrollPane(jta);

jp1 = new JPanel();

jp1.add(js);

jp1.setSize(150, 150);

// jcb = new JComboBox(chatlist);

// jcb.setSelectedIndex(0);

jtf = new JTextField(10);

send = new JButton("发送");

send.setActionCommand("send");

send.addActionListener(this);

jp2 = new JPanel();

// jp2.add(jcb);

jp2.add(jtf);

jp2.add(send);

add(jp1,BorderLayout.NORTH);

add(jp2,BorderLayout.SOUTH);

setSize(300, 270);

setVisible(false);

int width = Toolkit.getDefaultToolkit().getScreenSize().width;

int height = Toolkit.getDefaultToolkit().getScreenSize().height;

setLocation((width-300)/2, (height-300)/2);

}

@Override

public void actionPerformed(ActionEvent e) {

if(e.getActionCommand() == "send"){

// String info = (String) jcb.getSelectedItem();

String info = ClientTalk.this.my;

jta.append(info+":"+jtf.getText()+ "\r\n");

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: