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);
}
}); 展开
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);
}
}); 展开
展开全部
判断ss==null是因为,你的button的监听事件只要确认一次服务器就可以了,不用重复的,
setEnabled(false)是使你的button按钮处于不可点击状态,值为true的时候是可点的(也是默认的)
setEnabled(false)是使你的button按钮处于不可点击状态,值为true的时候是可点的(也是默认的)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果ss是一个类变量,则不用初始化(即显式的写出ss = null),因为类会将为初始化的类变量自动赋值为null。但是如果ss是一个局部变量,则必须要先初始化(即ss = null) 才可以使用,否则编译不能通过。
startBtn.setEnabled(false)的意思是将按钮的状态设置为不可用,在页面显式为灰化状态,不可以进行点击
startBtn.setEnabled(false)的意思是将按钮的状态设置为不可用,在页面显式为灰化状态,不可以进行点击
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ss == null为了防止没有实例化,startBtn.setEnabled(false);是为了防止你多次点击
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只是为了判断下到底有没有创建好了的端口,如果没有,则创建,避免端口重复或者被占用而挂掉。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询