当前位置: 代码迷 >> J2SE >> 请问一个Swing的技术有关问题
  详细解决方案

请问一个Swing的技术有关问题

热度:45   发布时间:2016-04-23 21:02:27.0
请教一个Swing的技术问题.
package c_port_packageBJTeacher;

import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.DataInputStream;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class NoteJFrameUserSysInfo extends JFrame implements WindowListener,ActionListener{
/**
 * 
 */

private static final long serialVersionUID = 1L;
JPanel jP1 = new JPanel();
static String MyworkNum = null;
static Font fnt = new Font("华文中宋",0,20);
Font fnt0 = new Font("华文中宋",0,18);
JLabel jL1 = new JLabel();
static String[] MyMemIP = new String[Recv.MyJButton0SystempriKey.length];
static String[] MyCusIP = new String[20000];
String MySysRole = "";
String LocalMyFriRole = "";
String LocalMyFriNum = "";
MyJButton882  jb0 = null;
MyJButton882  jb1 = null;
DataInputStream dips = null;
String SocketData = null;
String[] buffer = null;
String isOurUser = null;
boolean isUser = false;

public NoteJFrameUserSysInfo(String MyFriUID,String MyFriRole,String IP,String MyFriNum){
this.setTitle("系统信息提示:");
this.setBounds(new Rectangle(200,590,626,442));
LocalMyFriNum = MyFriNum;
LocalMyFriRole = MyFriRole;
jb0 = new MyJButton882("接收文件",0);
jb1 = new MyJButton882 ("拒绝接收",1);
jb0.setBounds(new Rectangle(688,386,76,18));
jb1.setBounds(new Rectangle(891,386,76,18));
jP1.setLayout(null);
if(MyFriRole.equals("Mem")){
MySysRole = "教师";
Recv.MyTeacherIP[Integer.parseInt(MyFriNum)]=IP;
}else{
MySysRole = "客户";
}
jL1.setText("<html>尊敬的用户!!您好!!您的好友:系统"+MySysRole+MyFriUID+"向您做出传送文件的请求,请您选择是否接收好友的文件:</html>");
jL1.setFont(fnt);
jb0.setFont(fnt0);
jb1.setFont(fnt0);
this.add(jP1);
setBounds(300,300,770,118);
jP1.add(jL1,BorderLayout.CENTER);
jL1.setFont(fnt);
add(jb0);
add(jb1);
add(jL1);
add(jb0);
add(jb1);
this.setVisible(true);
jb0.addActionListener(this);
jb1.addActionListener(this);
}

public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub

}
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
this.setVisible(false);
}
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
this.setVisible(false);
}
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub

}
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub

}
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub

}
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub

}

public static void main(String[] args){
new NoteJFrameUserSysInfo("褚彦丽","Mem","127.0.0.1","0");
}

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
MyJButton882 btn = (MyJButton882) e.getSource();
switch( btn.getMyId()){//【重要修改点】:怎样修改可以排错?
case 0:
{
SocketClient so = new SocketClient(Recv.S_PORT_SERVER,8811);
String str = "5丗"+"Mem"+"丠"+Recv.MySystemserialnum+"丮"+"22"+"丠"+LocalMyFriRole+"丠"+LocalMyFriNum+"丗"+"C"+"丗"+"Mem"+"丗"+Recv.MySystemserialnum;
so.writeStr(str, "NoteJFrameUserSysInfo");
String MyFriUID = GetMyUserUID.GetMyUserID(Integer.parseInt(LocalMyFriNum), LocalMyFriRole, Recv.MyServerPlace);
new TcpReceive("Mem",String.valueOf(Recv.MySystemserialnum),LocalMyFriRole,LocalMyFriNum,MyFriUID);
break;
}
case 1:
{
SocketClient so = new SocketClient(Recv.S_PORT_SERVER,8811);
String str = "5丗"+"Mem"+"丠"+Recv.MySystemserialnum+"丮"+"20"+"丠"+LocalMyFriRole+"丠"+LocalMyFriNum+"丗"+"C"+"丗"+"Mem"+"丗"+Recv.MySystemserialnum;
so.writeStr(str, "NoteJFrameUserSysInfo");
break;
}

}
}

    上面是我写的一个类型.
    运行后,我希望能够有:
    “提示用户数据的JLabel标签”与“两个JButton按钮”能够同时出现在这个我写的JFrame上.
但是,为什么运行后的效果为:
    
    这个结果呢?