当前位置: 代码迷 >> J2EE >> 初学者来了->怎么将收到的数据显示在窗口内
  详细解决方案

初学者来了->怎么将收到的数据显示在窗口内

热度:63   发布时间:2016-04-22 00:33:17.0
菜鸟来了--->如何将收到的数据显示在窗口内。
Java code
//窗口模块 public class Xianshiping{        public static void main (String args[])    {        ImageFrame frame = new ImageFrame();            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        frame.setVisible(true);//socket模块        try {        //创建一个DatagramSocket对象,并指定监听的端口号        DatagramSocket socket = new DatagramSocket(8090);        byte data [] = new byte[1024];        //创建一个空的DatagramPacket对象        DatagramPacket packet = new DatagramPacket(data,data.length);        //使用receive方法接收客户端所发送的数据        socket.receive(packet);        //取得packet包内的数据放入一个String对象fenshu中        String fenshu = new String(packet.getData(),packet.getOffset(),packet.getLength());    } catch (Exception e) {        // TODO Auto-generated catch block        e.printStackTrace();    }        }        } class ImageFrame extends JFrame{//     显示文本     public void paint(Graphics g) {         super.paint(g);         g.setFont(new Font("SansSerif",Font.PLAIN,500));         g.drawString("95.5", 30, 550);          }


这个代码里面包括了一个窗口模块,一个socket模块,一个文字显示模块。 请问如何将socket模块中接收到的数据fenshu,用文字显示模块中的g.drawString方法来显示呢?

------解决方案--------------------
Java code
 public   class   Xianshiping{                 public   static   void   main   (String   args[])         {                 ImageFrame   frame   =   new   ImageFrame();                         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);                 frame.setVisible(true); //socket模块                 try   {                 //创建一个DatagramSocket对象,并指定监听的端口号                 DatagramSocket   socket   =   new   DatagramSocket(8090);                 byte   data   []   =   new   byte[1024];                 //创建一个空的DatagramPacket对象                 DatagramPacket   packet   =   new   DatagramPacket(data,data.length);                 //使用receive方法接收客户端所发送的数据                 socket.receive(packet);                 //取得packet包内的数据放入一个String对象fenshu中                 String   fenshu   =   new   String(packet.getData(),packet.getOffset(),packet.getLength());                 ImageFrame   IF=new   ImageFrame(fenshu);                 IF.paint();         }   catch   (Exception   e)   {                 //   TODO   Auto-generated   catch   block                 e.printStackTrace();         }                 }                 } class   ImageFrame   extends   JFrame{ //           显示文本           String   str   =   null;         ImageFrame(String   str)         {                 super();                 this.str=str;         }           public   void   paint(Graphics   g)   {                   super.paint(g);                   g.setFont(new   Font( "SansSerif ",Font.PLAIN,500));                   g.drawString(str,   30,   550);                     } }
  相关解决方案