菜鸟来了--->如何将收到的数据显示在窗口内。

fuckonline 2012-08-30 09:29:55
//窗口模块
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方法来显示呢?
...全文
123 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
keithcai 2012-08-30
  • 打赏
  • 举报
回复
好像不用显式调用paint的是吧?有点忘了
keithcai 2012-08-30
  • 打赏
  • 举报
回复
 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);
}
}

g.setFont(new Font( "SansSerif ",Font.PLAIN,500));
是我告诉你的哟~大小在1到72之间,所以你设到500应该是跟72一样吧~
还有那个帖子麻烦结下贴呗
keithcai 2012-08-30
  • 打赏
  • 举报
回复

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);
}
}


g.setFont(new Font("SansSerif",Font.PLAIN,500));
是我告诉你的哟~大小在1到72之间,所以你设到500应该是跟72一样吧~
还有那个帖子麻烦结下贴呗
fuckonline 2012-08-30
  • 打赏
  • 举报
回复
0 0为什么没人

67,541

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧