汗...准备把错误位置变红字
没效果...
重发下
ListDialog.javaimport java.awt.*;
//import java.awt.BorderLayout;
//import java.awt.Color;
//import java.awt.Dimension;
import java.awt.event.*;
//import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.*;
//import javax.swing.JButton;
//import javax.swing.JDialog;
//import javax.swing.JLabel;
//import javax.swing.JPanel;
//import javax.swing.JScrollPane;
//import javax.swing.SwingUtilities;
import javax.swing.border.LineBorder;
public class ListDialog extends JDialog{
private static File file = null;
private File[] files = null;
private File text = null;
private JPanel allPanel;
static {
file = new File("C:/text");
}
public ListDialog(){
super();
setModal(true);
setTitle("日志列表");
setBounds(100,100,500,375);
final JScrollPane scrollPane = new JScrollPane();
getContentPane().add(scrollPane);
files = file.listFiles();
allPanel = new JPanel();
allPanel.setPreferredSize(new Dimension(450,files.length * 36));
scrollPane.setViewportView(allPanel);
for (int i=0;i<files.length;i++){
String name = "  "+files[i].getName();
name = name.substring(0, name.length()-4);
final JPanel onePanel = new JPanel();
allPanel.add(onePanel);
onePanel.setBorder(new LineBorder(Color.black,1,false));
onePanel.setLayout(new BorderLayout());
final JLabel label = new JLabel();
label.setPreferredSize(new Dimension(330,0));
label.setText(name);
onePanel.add(label,BorderLayout.WEST);
final JButton delButton = new JButton();
delButton.setText("删除");
delButton.setName(""+i);
delButton.addActionListener(new DelButtonActionListener());
onePanel.add(delButton,BorderLayout.CENTER);
final JButton seeButton = new JButton();
seeButton.setText("查看");
seeButton.setName(""+i);
seeButton.addActionListener(new SeeButtonActionListener());
onePanel.add(seeButton,BorderLayout.EAST);
}
final JButton returnButton = new JButton();
returnButton.setText("返回");
returnButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
setVisible(false);
}
});
getContentPane().add(returnButton,BorderLayout.SOUTH);}
public File getText(){
return text;
}

private class SeeButtonActionListener implements ActionListener{
public void actionPerformed(ActionEvent e){
JButton button = (JButton) e.getSource();
String name = button.getName();
text = files[Integer.valueOf(name)];
setVisible(false);
}
}

private class DelButtonActionListener implements ActionListener{
public void actionPerformed(ActionEvent e){
JButton button = (JButton) e.getSource();
int index = Integer.valueOf(button.getName());
files[index].delete();
allPanel.remove(index);
SwingUtilities.updateComponentTreeUI(allPanel);
}
}

}TipWizardFrame.java
import  java.awt.*;
import  java.awt.event.*;
import  java.io.*;
import  java.util.Date;
import  javax.swing.*;
public  class TipWizardFrame extends JFrame {
private  JTextField titleTextField;
    private  JTextField dateTextField; 
    private  JTextArea textArea;
private  final static String urlStr = "c:/text/";
    private  final static String todayDate = 
            String.format("%tF", new Date());
    static {
       File file = new File(urlStr);
       if(!file.exists())
              file.mkdirs();
       }
    public static void main(String args[])  {
         try {
           TipWizardFrame frame= new TipWizardFrame();
           frame.setVisible(true);
       } catch (Exception e) {
            e.printStackTrace();
           }
    }
    private class SaveButtonActionListener implements ActionListener {
        public void actionPerformed(ActionEvent e)  {
           String title = titleTextField.getText();
           String date = dateTextField.getText();
           String name = title + "(" + date +").text";
           File file = new File(urlStr + name);
           if (!file.exists())  {
               try  {
                   file.createNewFile();
                    } catch  (IOException e1)  {
                         e1.printStackTrace();
                        }
                   }
            try  {
               FileWriter fileWriter = new FileWriter(file);
               fileWriter.write(textArea.getText());
               fileWriter.close();
               } catch (IOException e1) {
                    e1.printStackTrace();
                   }
                 }
        }
private class SeeButtonActionListener implements ActionListener{
public void actionPerformed(ActionEvent e){
ListDialog listFrame = new ListDialog();
listFrame.setVisible(true);
File text = listFrame.getText();
listFrame.dispose();
if (text!=null){
String[] infos = text.getName().split("(|)");
titleTextField.setText(infos[0]);
dateTextField.setText(infos[1]);
try{
FileReader fileReader = new FileReader(text);
char[] cbuf = new char[(int) text.length()];
fileReader.read(cbuf);
fileReader.close();
textArea.setText(String.valueOf(cbuf));
}catch(FileNotFoundException e1){
e1.printStackTrace();
}catch(IOException e2){
e2.printStackTrace();
}
}
}
}
public TipWizardFrame()  {
     super();
     setTitle("日志薄");
     setBounds(100,100,500,375);
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     final JLabel softLabel = new JLabel();
     softLabel.setForeground(new Color(255,0,0));
     softLabel.setFont(new Font("", Font.BOLD,22));
     softLabel.setHorizontalAlignment(SwingConstants.CENTER);
     softLabel.setText("日 志 薄");
     getContentPane().add(softLabel, BorderLayout.NORTH);
     final JPanel contentPanel = new JPanel();
     contentPanel.setLayout(new BorderLayout());
     getContentPane().add(contentPanel, BorderLayout.CENTER);
     final JPanel infoPanel = new JPanel();
     contentPanel.add(infoPanel, BorderLayout.CENTER);
     final JLabel titleLabel = new JLabel();
     titleLabel.setText("标 题:");
     infoPanel.add(titleLabel);
     titleTextField = new JTextField();
     titleTextField.setColumns(30);
     titleTextField.setText("请输入标题");
     titleTextField.addFocusListener(new FocusListener() {
         public void focusGained(FocusEvent e)  {
                titleTextField.setText("");
         }
         public void focusLost(FocusEvent e)  {
              String date = titleTextField.getText().trim();
              if (date.length()==0)
                   titleTextField.setText("请输入标题");
            }
  });
     infoPanel.add(titleTextField);
     final JLabel dateLabel = new JLabel();
     dateLabel.setText("日 期");
     infoPanel.add(dateLabel);
     dateTextField = new JTextField();
     dateTextField.setColumns(30);
     dateTextField.setText(todayDate);
     dateTextField.addFocusListener(new FocusListener() {
        public void focusGained(FocusEvent e)  {
            dateTextField.setText("");
        }
        public void focusLost(FocusEvent e) {
            String date = dateTextField.getText().trim();
            if (date.length()!=10)
                dateTextField.setText(todayDate);
         }
 });
    infoPanel.add(dateTextField);
    final JButton seeButton = new JButton();
    seeButton.setText("查看日志");
    seeButton.addActionListener(new SeeButtonActionListener());
    contentPanel.add(seeButton, BorderLayout.EAST);
    final JScrollPane scrollPane = new JScrollPane();
    contentPanel.add(scrollPane, BorderLayout.SOUTH);
    textArea = new JTextArea(); 
    textArea.setLineWrap(true);
    textArea.setRows(12);
    scrollPane.setViewportView(textArea);
    final JPanel buttonPanel = new JPanel();
    final FlowLayout flowLayout = new FlowLayout();
    flowLayout.setHgap(20);
    buttonPanel.setLayout(flowLayout);
    getContentPane().add(buttonPanel, BorderLayout.SOUTH);
    final JButton saveButton = new JButton();
    saveButton.setText("保存");
    saveButton.addActionListener(new SaveButtonActionListener());
    buttonPanel.add(saveButton);
    final JButton clearButton = new JButton();
    clearButton.setText("清空");
    clearButton.addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent e) {
         titleTextField.setText("请输入标题");
         dateTextField.setText(todayDate);
         textArea.setText("");
        }
 });
 buttonPanel.add(clearButton);
 final JButton exitButton = new JButton();
 exitButton.setText("退出");
 exitButton.addActionListener(new ActionListener()  {
   public void actionPerformed(ActionEvent e) {
         System.exit(0);
        }
 });
    buttonPanel.add(exitButton);
     }
}

解决方案 »

  1.   

    没有%tF中 的F,只有f
    个你个参考吧转换  参数类别  说明  
    'b', 'B'  常规  如果参数 arg 为 null,则结果为 "false"。如果 arg 是一个 boolean 值或 Boolean,则结果为 String.valueOf() 返回的字符串。否则结果为 "true"。  
    'h', 'H'  常规  如果参数 arg 为 null,则结果为 "null"。否则,结果为调用 Integer.toHexString(arg.hashCode()) 得到的结果。  
    's', 'S'  常规  如果参数 arg 为 null,则结果为 "null"。如果 arg 实现 Formattable,则调用 arg.formatTo。否则,结果为调用 arg.toString() 得到的结果。  
    'c', 'C'  字符  结果是一个 Unicode 字符  
    'd'  整数  结果被格式化为十进制整数  
    'o'  整数  结果被格式化为八进制整数  
    'x', 'X'  整数  结果被格式化为十六进制整数  
    'e', 'E'  浮点  结果被格式化为用计算机科学记数法表示的十进制数  
    'f'  浮点  结果被格式化为十进制数  
    'g', 'G'  浮点  根据精度和舍入运算后的值,使用计算机科学记数形式或十进制格式对结果进行格式化。  
    'a', 'A'  浮点  结果被格式化为带有效位数和指数的十六进制浮点数  
    't', 'T'  日期/时间  日期和时间转换字符的前缀。请参阅日期/时间转换。  
    '%'  百分比  结果为字面值 '%' ('\u0025')  
    'n'  行分隔符  结果为特定于平台的行分隔符  
      

  2.   

    为什么上面程序在同学电脑上运行没错....
    我装的jdk应该没问题啊