{
public UserLoginWindow() {
initComponents(); //调用组件初始化函数 //设置窗口位置居中 int
locationX=(int)(Toolkit.getDefaultToolkit().getScreenSize().getWidth()-getSize().getWidth())/2; int
locationY=(int)(Toolkit.getDefaultToolkit().getScreenSize().getHeight()-getSize().getHeight())/2;
setLocation(locationX,locationY); }
private void initComponents() //组件初始化 {
fromServerMessage=new User(); toServerMessage=new User(); vectorUserList = new Vector(1,1);
ComboBoxUserName = new JComboBox(); //用户名输入框 textUserPassword = new JPasswordField(); //密码输入框 buttonEnter = new JButton(); //确定按钮 buttonExit = new JButton(); //取消按钮 buttonLogin = new JButton(); //注册按钮 Label = new JLabel();
getContentPane().setLayout(new
org.netbeans.lib.awtextra.AbsoluteLayout()); //设置面板的布局方式为绝对布局
setTitle(\登录\ setResizable(false);
addWindowListener(new WindowAdapter() //点击窗口关闭按钮事件 {
public void windowClosing(WindowEvent evt) { exitForm(evt); } }); try {
String recode;
FileInputStream fsread=new FileInputStream(\ InputStreamReader inputread=new InputStreamReader(fsread); BufferedReader bfread=new BufferedReader(inputread); while((recode=bfread.readLine()) != null) {
ComboBoxUserName.addItem(recode); } }
catch(IOException e){}
ComboBoxUserName.setForeground(new Color(0,0,0));
第 30 页 共 69 页
30
ComboBoxUserName.setBackground(new Color(255, 255, 255)); ComboBoxUserName.setEditable(true);
ComboBoxUserName.setFont(new Font(\ ComboBoxUserName.setOpaque(false);
ComboBoxUserName.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { ComboBoxUserNameActionPerformed(evt); } });
getContentPane().add(ComboBoxUserName,
org.netbeans.lib.awtextra.AbsoluteConstraints(172, 116, 152, 28));
textUserPassword.setAlignmentY(1.0F); textUserPassword.setBorder(null);
textUserPassword.setFont(new Font(\ textUserPassword.setMargin(new Insets(12, 34, 0, 0));
getContentPane().add(textUserPassword,
org.netbeans.lib.awtextra.AbsoluteConstraints(172, 162, 150, 20));
buttonExit.setForeground(new Color(255, 255, 255)); buttonExit.setFont(new Font(\幼圆\ buttonExit.setText(\退出\
buttonExit.setBackground(new Color(255, 204, 0)); buttonExit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { buttonExitActionPerformed(evt); } });
getContentPane().add(buttonExit,
org.netbeans.lib.awtextra.AbsoluteConstraints(240, 210, -1, -1));
buttonEnter.setForeground(new Color(255, 255, 255)); buttonEnter.setFont(new Font(\幼圆\ buttonEnter.setText(\登录\
buttonEnter.setBackground(new Color(255, 204, 51));
buttonEnter.addActionListener(new EnterActionListener());
getContentPane().add(buttonEnter,
org.netbeans.lib.awtextra.AbsoluteConstraints(120, 210, -1, -1));
buttonLogin.setForeground(new Color(255, 255, 255)); buttonLogin.setFont(new Font(\幼圆\ buttonLogin.setText(\注册向导\
buttonLogin.setBackground(new Color(255, 204, 0)); buttonLogin.setBorder(null);
buttonLogin.setOpaque(false);
buttonLogin.addActionListener(new LoginActionListener());
第 31 页 共 69 页
31
new
new
new
new
getContentPane().add(buttonLogin, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 260, -1, -1));
Label.setIcon(new ImageIcon(\ getContentPane().add(Label, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
try {
toServer=new Socket(ServerIPaddress,1001); streamToServer = new ObjectOutputStream(toServer.getOutputStream()); streamFromServer = new ObjectInputStream(toServer.getInputStream()); }
catch(IOException e) {}
Thread thread = new Thread(this); thread.start(); pack(); }
void Detect(int lengthName,int lengthPassword) throws IllegalLengthException
{
if(lengthName<4 || lengthPassword<4) throw new IllegalLengthException(); }
private void buttonExitActionPerformed(ActionEvent evt) //取消按钮事件 {
System.exit(0); }
private void ComboBoxUserNameActionPerformed(ActionEvent evt) //用户名下拉列表事件 { }
private void exitForm(WindowEvent evt) //退出按钮事件 {
System.exit(0); }
public void run() {
try
{ for(;;) {
第 32 页 共 69 页
32
fromServerMessage=(User)streamFromServer.readObject();
String ButtonMessage=fromServerMessage.Command; if(ButtonMessage.equals(\ {
JOptionPane.showMessageDialog(null,\恭喜!注册成功!\
frameLogin.setVisible(false);
new chatroom().show();
AddEnterUser(); }
if(ButtonMessage.equals(\ {
frameEnter.setVisible(false); new chatroom().show(); AddEnterUser(); }
if(ButtonMessage.equals(\ {
JOptionPane.showMessageDialog(null,\错误:相同的用户名已注册!\
frameLogin.setVisible(false); frameServerIP=new UserLogin();
frameServerIP.setVisible(true); }
if(ButtonMessage.equals(\ {
JOptionPane.showMessageDialog(null,\警告:非法的用户名或密码!\
frameEnter.setVisible(false); frameServerIP=new UserLogin();
frameServerIP.setVisible(true);
}
if(ButtonMessage.equals(\
{
JOptionPane.showMessageDialog(null,fromServerMessage.Message);//fy System.exit(0); }
if(ButtonMessage.equals(\|| ButtonMessage.equals(\
{ Updating(); }
if(ButtonMessage.equals(\
{ SystemMessage(); }
if(ButtonMessage.equals(\|| ButtonMessage.equals(\
第 33 页 共 69 页
33
{ Message(); }
if(ButtonMessage.equals(\|| ButtonMessage.equals(\ ButtonMessage.equals(\|| ButtonMessage.equals(\ {
FileMessage(); }
continue; } }
catch(Exception e) {
JOptionPane.showMessageDialog(null, \\JOptionPane.ERROR_MESSAGE);//测试 } }
public void AddEnterUser() {
try {
String recode;
boolean find=false; RandomAccessFile EnterObj=new RandomAccessFile(\
FileInputStream fsread=new FileInputStream(\ InputStreamReader inputread=new InputStreamReader(fsread); BufferedReader bfread=new BufferedReader(inputread); while((recode=bfread.readLine()) != null) {
while (recode.equals(fromServerMessage.UserName)) {
find=true; break; }
} if(find==false)
{
EnterObj.seek(EnterObj.length());
EnterObj.writeBytes(fromServerMessage.UserName+\ } }
catch(IOException e){} }
public void Updating() //刷新信息 {
String newUser=fromServerMessage.UserName;
第 34 页 共 69 页
34
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Java聊天室系统程序设计实验报告 - 图文(7)在线全文阅读。
相关推荐: