void jButton1_actionPerformed(ActionEvent e) {
username = jTextField1.getText();
password = jPasswordField1.getText(); try {
s = new Socket(host, 10000); //与服务器端建立连接 InputStreamReader isr;
//从服务器读取数据接口
isr = new InputStreamReader(s.getInputStream());
br = new BufferedReader(isr);
pw = new PrintWriter(s.getOutputStream(), true); pw.println("Login");
pw.println(username);
pw.println(password);
String line = null; if ( (line = br.readLine()) != null) {
if (line.startsWith(">>>loginSuccess")) {
success = true;
}
else {
success = false;
}
}
br.readLine();
}
catch (IOException ie) {
System.out.println("error: " + ie.toString());
}
finally {
try {
if (br != null) {
br.close(); }
if (pw != null) {
pw.close(); }
if (s != null) {
s.close();
}
}
catch (IOException oe) {
}
} if (success) {
this.setVisible(false);
this.dispose();
ShopClientFrame frame = null;
frame = new ShopClientFrame(host);
frame.validate();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
frame.setLocation( (screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
frame.setVisible(true);
frame.now();//标志1
}
else {
d1 = new Dialog(this, "警告", true);
Panel p1 = new Panel();
p1.add(new Label("您无权进本系统!"));
Panel p2 = new Panel();
p2.add(jButton3);
d1.add("South", p2);
d1.add("Center", p1);
d1.setSize(200, 100);
d1.setLocation(400, 400);
d1.show();
}
System.out.println(username);
System.out.println(password);
}
如上代码。。为一个按钮的动作。。(登录过程)登录成功关闭此窗口。。实例化一个登录后的窗口。。问题是在如上所示标志1处。。调用now()方法后。frame就不能显示上面的组件了(为什么?)now()方法{
其中有一个阻塞函数}
怎么解决?帮我!!
username = jTextField1.getText();
password = jPasswordField1.getText(); try {
s = new Socket(host, 10000); //与服务器端建立连接 InputStreamReader isr;
//从服务器读取数据接口
isr = new InputStreamReader(s.getInputStream());
br = new BufferedReader(isr);
pw = new PrintWriter(s.getOutputStream(), true); pw.println("Login");
pw.println(username);
pw.println(password);
String line = null; if ( (line = br.readLine()) != null) {
if (line.startsWith(">>>loginSuccess")) {
success = true;
}
else {
success = false;
}
}
br.readLine();
}
catch (IOException ie) {
System.out.println("error: " + ie.toString());
}
finally {
try {
if (br != null) {
br.close(); }
if (pw != null) {
pw.close(); }
if (s != null) {
s.close();
}
}
catch (IOException oe) {
}
} if (success) {
this.setVisible(false);
this.dispose();
ShopClientFrame frame = null;
frame = new ShopClientFrame(host);
frame.validate();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
frame.setLocation( (screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
frame.setVisible(true);
frame.now();//标志1
}
else {
d1 = new Dialog(this, "警告", true);
Panel p1 = new Panel();
p1.add(new Label("您无权进本系统!"));
Panel p2 = new Panel();
p2.add(jButton3);
d1.add("South", p2);
d1.add("Center", p1);
d1.setSize(200, 100);
d1.setLocation(400, 400);
d1.show();
}
System.out.println(username);
System.out.println(password);
}
如上代码。。为一个按钮的动作。。(登录过程)登录成功关闭此窗口。。实例化一个登录后的窗口。。问题是在如上所示标志1处。。调用now()方法后。frame就不能显示上面的组件了(为什么?)now()方法{
其中有一个阻塞函数}
怎么解决?帮我!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货