java下面代码中 为什么要建立一个ss=null的语句,startBtn.setEnabled(false);是什么意思,求老鸟告知

privateJButtonstartBtn,offBtn;privateThreadt;privateServerSocketss;privatevoidinit(){... private JButton startBtn, offBtn;
private Thread t;
private ServerSocket ss;

private void init()
{
startBtn = new JButton("开启服务器");
startBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
t = new Thread(new Runnable() {
public void run() {
if (ss == null) {
try {
ss = new ServerSocket(9999);
new StartServer(ss);
} catch (IOException e) {
e.printStackTrace();
}
}
}
});
t.start();
startBtn.setEnabled(false);
offBtn.setEnabled(true);
}
});
展开
 我来答
唯爱多啦梦cQb8a
推荐于2017-11-28 · TA获得超过639个赞
知道小有建树答主
回答量:746
采纳率:0%
帮助的人:534万
展开全部
首先是声明一个ServerSocket ss; 对象,这里ss为null因为没有创建,然后判断if(ss==null) 则ss = new ServerSocket(9999); 这样 ss就创建出来了,startBtn.setEnabled(false);这样就使得startBtn这个按钮变灰不可点击了。
q994539183
2012-12-04
知道答主
回答量:56
采纳率:0%
帮助的人:11.5万
展开全部
判断ss==null是因为,你的button的监听事件只要确认一次服务器就可以了,不用重复的,
setEnabled(false)是使你的button按钮处于不可点击状态,值为true的时候是可点的(也是默认的)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仍田田8A
2012-12-04 · TA获得超过1447个赞
知道答主
回答量:9
采纳率:0%
帮助的人:1.2万
展开全部
如果ss是一个类变量,则不用初始化(即显式的写出ss = null),因为类会将为初始化的类变量自动赋值为null。但是如果ss是一个局部变量,则必须要先初始化(即ss = null) 才可以使用,否则编译不能通过。
startBtn.setEnabled(false)的意思是将按钮的状态设置为不可用,在页面显式为灰化状态,不可以进行点击
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yakson274
2012-12-04 · TA获得超过786个赞
知道答主
回答量:51
采纳率:0%
帮助的人:21万
展开全部
ss == null为了防止没有实例化,startBtn.setEnabled(false);是为了防止你多次点击
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
enolong
2012-12-04 · TA获得超过1174个赞
知道小有建树答主
回答量:590
采纳率:100%
帮助的人:374万
展开全部
只是为了判断下到底有没有创建好了的端口,如果没有,则创建,避免端口重复或者被占用而挂掉。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式