你可以自己设计一个数据结构存储,比如:
class Data {
  String data; //要保存的字符串
  int color;  //字体颜色
  int size;   //字体大小
  .....
}然后就可以用文本文件存储了。

解决方案 »

  1.   

    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*; public class DrawString extends Applet implements ActionListener{
    int x,y,z;
    double si;
    String ab=new String();     //定义字符串变量获取tx1的值
    String c=new String();      //定义字符串变量获取tx2的值
    TextField tx1=new TextField(10);
    TextField tx2=new TextField(10);
    Label lb1=new Label("请输入A,B值(数字中间用空格分开):");
    Label lb2=new Label("请输入C值:");
    Label lberr=new Label("                                                     ");   //错误信息提示标签 
    Button bt=new Button("画图并存储");
    Button bt1=new Button("  清 除  ");
    public void init(){
    add(lb1);
    add(tx1);
    add(lb2);
    add(tx2);
    add(lberr);
    add(bt);
    add(bt1); bt.addActionListener(this);
    bt1.addActionListener(this);
    }
    public void actionPerformed(ActionEvent e){
    Graphics g=getGraphics();
    String[] absplit;
    if(e.getSource()==bt1){
    repaint();
    }
    if(e.getSource()==bt){
    ab=tx1.getText();
    c=tx2.getText();
    try{
    if(ab.length()==0){
    throw new inputException(2);
    }
    if(c.length()==0){
    throw new inputException(4);
    }
    if(ab.indexOf(" ")==-1){
    throw new inputException(1);
    }
    absplit=ab.split(" ");
    if(absplit.length!=2){
    throw new inputException(5);
    }
    lberr.setText("");
    ///////////////画矩形////////////////
    try{
    x=Integer.parseInt(absplit[0]);
    y=Integer.parseInt(absplit[1]);
    for(int i=50;i<=50+x;i+=5){
    g.drawString("*",i,y+50);
    g.drawString("*",i,50);
    }
    for(int i=50;i<=50+y;i+=5){
    g.drawString("*",50,i);
    g.drawString("*",x+50,i);
    }
    }catch(NumberFormatException ex){
    lberr.setText("请用数字输入A、B值.");
    lberr.setForeground(Color.RED);
    }
    //////////////画圆形//////////////////
    try{
    z=Integer.parseInt(c);
    double cyt;
    int cyb;
    int cyf;
    for(int i=50;i<=z*2+50;i=i+5){
    cyt=Math.sqrt(z*z-(z+50-i)*(z+50-i));
    cyb=(int)(y+100+z+cyt);
    cyf=(int)(y+100+z-cyt);
    g.drawString("*",i,cyb);
    g.drawString("*",i,cyf);
    }
    }catch(NumberFormatException ex){
    lberr.setText("请用数字输入C值.");
    lberr.setForeground(Color.RED);
    }

    }catch(inputException ex){
    lberr.setText(ex.toString());
    lberr.setForeground(Color.RED);
    }
    }
    }}
    这是我的代码,就是想把矩形和圆形输出到文本文件里,可行吗