JAVA Java图形用户界面打开的文件怎么显示在界面上? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 说的有点笼统, 能详细点吗? 应该是用swing或jfreechart 就是比如说我现在已经写好一个界面了、界面的菜单有打开文件这一项、我想打开电脑中的一个文本文件、不想让它显示在eclipse的控制台、想让它显示在我写的窗口中、 http://download.csdn.net/source/460630 用JFileChooserJFileChooser 为用户选择文件提供了一种简单的机制 import java.awt.Event;import java.awt.EventQueue;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.util.Scanner;import javax.swing.JComponent;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JScrollBar;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.ProgressMonitorInputStream;import javax.swing.filechooser.FileFilter;/** * @author lijie * */public class ProgressBarTest{ public static void main(String [] args){ JFrame frame = new TextFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); }}class TextFrame extends JFrame{ public TextFrame(){ setTitle("InputStremTest"); setSize(300,400); JMenuBar menuBar=new JMenuBar(); setJMenuBar(menuBar); JMenu filemenu=new JMenu("File"); menuBar.add(filemenu); JMenuItem openItem=new JMenuItem("open"); openItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { try { openFile(); } catch (FileNotFoundException e) { e.printStackTrace(); } } }); filemenu.add(openItem); JMenuItem exitItem=new JMenuItem("Exit"); exitItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.exit(0); } }); filemenu.add(exitItem); } public void openFile() throws FileNotFoundException{ JFileChooser chooser=new JFileChooser(); chooser.setCurrentDirectory(new File(".")); chooser.setFileFilter(new FileFilter() { @Override public String getDescription() { return "Text Files"; } @Override public boolean accept(File f) { String fname=f.getName().toLowerCase(); return fname.endsWith(".txt")||f.isDirectory(); } }); int r=chooser.showOpenDialog(this); if(r!=JFileChooser.APPROVE_OPTION)return; final File f=chooser.getSelectedFile(); FileInputStream fileIn=new FileInputStream(f); ProgressMonitorInputStream progress=new ProgressMonitorInputStream(this, "Reading"+ f.getName(),fileIn); final Scanner in=new Scanner(progress); Runnable reRunnable=new Runnable() { @Override public void run() { final JTextArea textArea=new JTextArea(); while(in.hasNextLine()){ String line=in.nextLine(); textArea.append(line); textArea.append("\n"); } in.close(); EventQueue.invokeLater(new Runnable() { @Override public void run() { setContentPane(new JScrollPane(textArea)); validate(); } }); } }; Thread read=new Thread(reRunnable); read.start(); }}看看是不是你要的效果 chooser.setFileFilter这句话报错啊 Myeclipse 中Junit 单元测试,怎么不可以单个方法执行 菜鸟看<T>,实在不得不问。高手进来看看,帮忙指点一下~~~ 如何能实现 java nio 异步写文件? 谁知道 中海纪元 公司呀? 怎样知道自己被哪个类的哪个方法调用类? 关于JAVA反射的问题 请大家帮我看看这段代码(关于CardLayout的)为什么不能执行,谢谢。 有关renameTo的方法 学JAVA的人不能不看…… 谁能提供IntelliJ_IDEA_2.6的注册号?不胜感激! Jcreator引入 大学生考scjp有用吗
JFileChooser 为用户选择文件提供了一种简单的机制
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;import javax.swing.JComponent;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.ProgressMonitorInputStream;
import javax.swing.filechooser.FileFilter;
/**
* @author lijie
*
*/
public class ProgressBarTest{
public static void main(String [] args){
JFrame frame = new TextFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class TextFrame extends JFrame{
public TextFrame(){
setTitle("InputStremTest");
setSize(300,400);
JMenuBar menuBar=new JMenuBar();
setJMenuBar(menuBar);
JMenu filemenu=new JMenu("File");
menuBar.add(filemenu);
JMenuItem openItem=new JMenuItem("open");
openItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
try {
openFile();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
});
filemenu.add(openItem);
JMenuItem exitItem=new JMenuItem("Exit");
exitItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
filemenu.add(exitItem);
}
public void openFile() throws FileNotFoundException{
JFileChooser chooser=new JFileChooser();
chooser.setCurrentDirectory(new File("."));
chooser.setFileFilter(new FileFilter() {
@Override
public String getDescription() {
return "Text Files";
}
@Override
public boolean accept(File f) {
String fname=f.getName().toLowerCase();
return fname.endsWith(".txt")||f.isDirectory();
}
});
int r=chooser.showOpenDialog(this);
if(r!=JFileChooser.APPROVE_OPTION)return;
final File f=chooser.getSelectedFile();
FileInputStream fileIn=new FileInputStream(f);
ProgressMonitorInputStream progress=new ProgressMonitorInputStream(this, "Reading"+ f.getName(),fileIn);
final Scanner in=new Scanner(progress);
Runnable reRunnable=new Runnable() {
@Override
public void run() {
final JTextArea textArea=new JTextArea();
while(in.hasNextLine()){
String line=in.nextLine();
textArea.append(line);
textArea.append("\n");
}
in.close();
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
setContentPane(new JScrollPane(textArea));
validate();
}
});
}
};
Thread read=new Thread(reRunnable);
read.start();
}
}
看看是不是你要的效果