【发布时间】:2014-05-08 02:48:30
【问题描述】:
我有一个程序,正在尝试测试是否创建了文件 (info.txt),如果是,则在程序启动时将内容打开到 JTextArea。我该怎么做呢? 我已经想出了如何搜索并查看文件是否存在,只是无法在启动时将其打开到 textArea
import javax.swing.*; // need it
import java.awt.*; //need it also
import java.awt.datatransfer.*;
import java.util.*;
import java.io.*;
import java.awt.event.*; //keeps track of events
import javax.swing.border.*; // not necessary / already imported ^^
import javax.swing.*;
import java.awt.*;
import java.awt.datatransfer.*;
import java.util.*;
import java.io.*;
import java.awt.event.*;
import javax.swing.border.*;
public class finalA extends JFrame implements ActionListener{
private final int WIDTH = 750;
private final int HEIGHT = 400;
static String theText;
private String text;
//creates components
private JTextArea textArea;
private JButton SaveB;
private JScrollPane scroll;
public finalA(){
setTitle("Super fancy text editor");
setSize(WIDTH,HEIGHT);
Container pane = getContentPane();
//Creates button
SaveB = new JButton("Save & Exit");
textArea = new JTextArea();
scroll = new JScrollPane(textArea);
scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
//adds event handler for exit button
SaveB.addActionListener(this);
//sets pane to null
pane.setLayout(null);
//location of button and TA (750,400)
textArea.setLocation(10,100);
SaveB.setLocation(150,320);
//set size of TA and Button
textArea.setSize(730,200);
SaveB.setSize(100,30);
//add items to pane
pane.add(textArea);
pane.add(SaveB);
scroll.setBounds(10,100,730,200);
scroll.setVisible(true);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}//ends constructor
public void openFile()throws Exception{
File f = new File("info.txt");
if(f.exists()){
FileReader reader = null;
try{
reader = new FileReader("info.txt");
textArea.read(reader, null);
}
finally{
if (reader != null){
reader.close();
}
}
}
}//ends openFile
public void actionPerformed(ActionEvent e){
String text = textArea.getText();
if(e.getActionCommand().equals("Save & Exit")){
try{
BufferedWriter reader = new BufferedWriter(new FileWriter(new File("info.txt"),true));
reader.write(text);
reader.newLine();
reader.close();
}catch(IOException E){
System.out.println("the error is " + E);
}
}
System.exit(0);
}
}// ends finalA class
【问题讨论】:
-
不错不错。到目前为止,请分享您的代码。就目前而言,太简短了
-
欢迎来到 Stack Overflow! runnable example that demonstrates your problem 将导致更好的响应和更少的猜测工作。你被困在问题的哪一部分?创建 UI,
JTextArea,加载? -
@Coffee 我添加了代码!
标签: java user-interface text file-io jtextarea