Java图形用户界面打开的文件怎么显示在界面上?

解决方案 »

  1.   

    说的有点笼统, 能详细点吗? 应该是用swing或jfreechart
      

  2.   

    就是比如说我现在已经写好一个界面了、界面的菜单有打开文件这一项、我想打开电脑中的一个文本文件、不想让它显示在eclipse的控制台、想让它显示在我写的窗口中、
      

  3.   

    http://download.csdn.net/source/460630
      

  4.   

    用JFileChooser
    JFileChooser 为用户选择文件提供了一种简单的机制
      

  5.   

    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();
    }
    }
    看看是不是你要的效果
      

  6.   

    chooser.setFileFilter这句话报错啊