我正在使用方法和类创建GUI,并且我正在尝试创建一个按钮,用户可以在其中选择它然后选择一个文件。然后,该文件将读入文件中存储的内容到textarea / textfield / JLabel中。任何人都可以帮助我使用我的代码,我不知道如何编码它所以我可以选择按钮来选择文件,然后将文本读入GUI。
public void addLoadFile(){
btnLoadFile = new JButton("Load file of Books");
btnLoadFile.setBounds(415, 30, 150, 20);
btnLoadFile.addActionListener(this);
panelLoadFile.add(btnLoadFile);
textArea = new JTextArea();
}
class this implements ActionListener {
@Override
JFileChooser fileChooser = new JFileChooser();
int ret = fileChooser.showOpenDialog(this);
if(ret== JFileChooser.APPROVE_OPTION)
{
File f= fileChooser.getSelectedFile();
try
{
FileReader r=new FileReader(f);
area.read(4,"");
}
catch (Exception ee)
}
System.out.prinkln("");
}
答案 0 :(得分:1)
以下代码段可能有所帮助:
向按钮添加监听器
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
执行行动的代码
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser fileChooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter(
"Text Files(*.txt)", "txt");
fileChooser.setFileFilter(filter);
fileChooser.setCurrentDirectory(new File(System
.getProperty("user.home")));
int result = fileChooser.showOpenDialog(this);
if (result == JFileChooser.APPROVE_OPTION) {
File selectedFile = fileChooser.getSelectedFile();
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(selectedFile));
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
sb.append(System.lineSeparator());
line = br.readLine();
}
String all = sb.toString();
jTextArea1.setText(all);
}catch(Exception e){
e.printStackTrace();
}finally {
try {
br.close();
} catch (IOException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}