JAVA监听有两个Button,一个启动一个关闭,点了启动之后两个Button都无法点击了,求解

这个代码做的那个界面有两个Button,一个启动一个关闭,我点了启动之后两个Button都会变成没法点击的那种,就像普通的图片一样,也关闭不了,这时候如果我再开第二次就可... 这个代码做的那个界面有两个Button,一个启动一个关闭,我点了启动之后两个Button都会变成没法点击的那种,就像普通的图片一样,也关闭不了,这时候如果我再开第二次就可以点完启动之后再点关闭之类的,我觉得是后面那块写错了,不过大一的时候上课不太认真不清楚那个循环是什么情况,求大大们指点一下_(:з」∠)_

/**
* 这是服务器端的控制界面,可以完成启动服务器,关闭服务器
* 可以管理和监控用户.
*/
package com.qq.server.view;

import javax.swing.*;
import com.qq.server.model.MyQqServer;
import java.awt.*;
import java.awt.event.*;

public class MyServerFrame extends JFrame implements ActionListener {

JPanel jp1;
JButton jb1, jb2;

public static void main(String[] args) {

MyServerFrame mysf = new MyServerFrame();
}

// 构造函数
public MyServerFrame() {
jp1 = new JPanel();
jb1 = new JButton("启动服务器");
jb1.setBorderPainted(false);//按钮边框取消
jb1.addActionListener(this);
jb2 = new JButton("关闭服务器");
jb2.setBorderPainted(false);//按钮边框取消
jb2.addActionListener(this);
jp1.add(jb1);
jp1.add(jb2);

this.add(jp1);
this.setSize(200, 150);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}

public void actionPerformed(ActionEvent arg0) {
if (arg0.getSource() == jb1)
{
JOptionPane.showMessageDialog(null,"已启动服务器","已启动服务器",JOptionPane.INFORMATION_MESSAGE);
new MyQqServer();
}
if (arg0.getSource() == jb2) {
Object[]options = {"OK."};
JOptionPane.showOptionDialog(null,"Click OK to close it.","Close the Server Frame",JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE,null,options,options[0]);
this.dispose();
}
}
}
展开
 我来答
匿名用户
2015-08-26
展开全部
1、if (arg0.getSource() == jb1) 不可以使用==比较对象 , 使用jb1.equals(arg0.getSource())对比

2、new MyQqServer();是不是独占的
更多追问追答
追问
O O请问独占是什么意思
O O请问独占是什么意思
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式