Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java GUI 设计  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 高手帮忙 我在线 也可以加我QQ(怎么在applet里显示dat文件的内容)
javaview





发贴: 2
积分: 0
于 2006-08-01 20:54 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
请问我怎么在applet里面显示一个dat文件里的内容呢?
我用一个.java文件写了一个dat文件
现在想在applet里面显示其里面的内容 请问怎么写?
小弟是新手 请多帮助我
源程序是这样的
import java.io.*;
class Man impliements Serializable{
String name;int name;double height;}
public class Serializable1{
public class void main(String[] args)throws Exeception{
FileOutputStream fos=new FileOutputStream("c:\\obj.dat");
ObjectOutputStream oos=new ObjectOutputStream(fos);
Man m=new Man;
m.name="jjww";
m.age=14;
m.height=168.0;
oos.writeObjectMusic;
oos.close;}
}


why edited on 2006-08-17 10:22

作者 Re:高手帮忙 我在线 也可以加我QQ [Re:javaview]
hdwangyi





发贴: 57
积分: 27
于 2006-08-06 23:09 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
你提的问题不是太明确,如果仅从一个先前序列化的文件中读取存储的对象信息,应该不是太复杂。但如果用Applet实现本机上文件的读取,就要注意这个Applet一定要在有数字签名,否则会引发安全性异常,数据也读不出来。

我写了一个示意程序,供你参考,这是个Applet程序,但要注意,这个程序一定要经过数字签名后,才能在自己的计算机上运行,它也是个“两栖”程序,也就是包含一个main方法,所以也可以直接运行这个类文件,你可以试试,代码如下:

public class ObjApplet extends java.applet.Applet{
//用于显示数据项的标签的组件
java.awt.Label lblName=new java.awt.Label("Name:");
java.awt.Label lblAge=new java.awt.Label("Age:");
java.awt.Label lblHeight=new java.awt.Label("Height:");
//状态栏,用于显示读入数据状态或错误信息
java.awt.Label lblStatus=new java.awt.Label("Success Read Data");
//----------------------------------------------------------
//显示各项数据的文本组件
java.awt.TextField txtName=new java.awt.TextField();
java.awt.TextField txtAge=new java.awt.TextField();
java.awt.TextField txtHeight=new java.awt.TextField();
/**
* 构造方法
*/
public ObjApplet(){
init();
}
/**
* Applet在启动时自动调用的方法init
*/
public void init(){
try{
//设置布局管理器
setLayout(new java.awt.BorderLayout());
//建立显示数据的一个面板
java.awt.Panel content=new java.awt.Panel();
content.setLayout(new java.awt.GridLayout(3,2));
//在面板中加入数据显示组件
content.add(lblName);
content.add(txtName);
content.add(lblAge);
content.add(txtAge);
content.add(lblHeight);
content.add(txtHeight);
//将面板加入当前的Applet中
add(content,java.awt.BorderLayout.CENTER);
//在当前的面板中加入状态栏
add(lblStatus,java.awt.BorderLayout.SOUTH);
//读入序列化数据
Man man=readData();
//设置显示组件的信息
txtName.setText(man.name);
txtAge.setText(String.valueOf(man.age));
txtHeight.setText(String.valueOf(man.height));
}catch(Exception e){
//发生异常时,将自动调用这些代码,设置状态栏中的错误信息
lblStatus.setForeground(java.awt.Color.RED);
lblStatus.setText(e.getMessage());
}
}
/**
* 读入硬盘中的数据文件的方法readData
*/
public Man readData(){
try{
//此处是从你原来的生成的文件中读出数据,
//在未经数字签名的Applet中会引发安全异常
FileInputStream fin=new FileInputStream("c:/obj.dat");
ObjectInputStream ois=new ObjectInputStream(fin);
//这是你前面写的类,注意类文件Man.class一定要和当前的
//ObjApplet.class文件位于同一个目录中或jar文件里
Man man=(Man)ois.readObject();
fin.close();
return man;
}catch(Exception e){
throw new RuntimeException(e);
}
}
/**
* 测试方法main,以便察看运行的结果
*/
public static void main(String[] args){
java.awt.Frame frm=new java.awt.Frame("Demo");
frm.addWindowListener(new java.awt.event.WindowAdapter(){
public void windowClosing(java.awt.event.WindowEvent e){
System.exit(-1);
}
});
frm.add(new ObjApplet());
frm.pack();
frm.setVisible(true);
}
}



hdwangyi edited on 2006-08-07 00:35


flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923