私はSwingとAWTにかなり慣れていません。私はJava開発の経験がありますが。JFileChooser を使用してファイルを読み取り、メイン メソッドで内容を取得しようとしています。Swing と AWT のすべての達人は、私が欠けているものを特定するのを手伝ってください。
ここに私のコード:
package com.ui;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
public class HomeScreen extends JFrame
{
private static final long serialVersionUID = -7604272718213756686L;
String fileContent;
final JFileChooser fc = new JFileChooser();
public HomeScreen()
{
super("Home Screen");
setLayout(new FlowLayout());
setSize(500,500);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setResizable(false);
// Button to open file
final JButton button = new JButton("Select File");
button.addActionListener
(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
int ret = fc.showDialog(button.getParent(), "Open");
if(ret == JFileChooser.APPROVE_OPTION)
{
File f = fc.getSelectedFile();
BufferedReader br;
try {
br = new BufferedReader(new FileReader(f));
String st ="";
StringBuilder sb = new StringBuilder();
while((st=br.readLine())!=null)
{
sb.append(st);
}
fileContent = sb.toString();
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
);
System.out.println(fc.getSelectedFile()+" _____________________");
add(button);
}
public static void main(String[] args)
{
HomeScreen screen = new HomeScreen();
}
}
null___________________________
これは、コンテンツの多いファイルを選択しても印刷されます。