有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用JavaGUI swing,在使用JFileChooser之后,如何在JLabel中显示文本文件?

我尝试了各种方法来解决这个问题,包括创建方法FileOpener或public void FileOpener的对象,但似乎出现了各种错误。有人请提供一个解决方案,没有太长或复杂的代码。菜单栏起作用,ActionListener用于为JMenuItem的单击提供支持。标签将被添加到面板中,并应显示文本文件的内容,但不起作用。“加载”菜单项和“退出”菜单项工作正常

import java.util.Scanner;
import java.io.*;
import javax.swing.*;


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;

public class GraphDisplay
{

    public GraphDisplay()
    {
        gui();
        FileOpener();
    }

    public void gui()
    {
        JFrame jf = new JFrame("Ethnic diversity Graph");
        //Creates a constructor for JFrame.

        FileOpener();

        JMenuBar bar = new JMenuBar();
        jf.setJMenuBar(bar);

        JMenu file = new JMenu("File");
            bar.add(file);

        JMenuItem load = new JMenuItem("Load");
            file.add(load);
            load.addActionListener(new LoadClick());
        JMenuItem exit = new JMenuItem("Exit");
            file.add(exit);
            exit.addActionListener(new ExitClick());

        JMenu help = new JMenu("Help");
            bar.add(help);

        JMenuItem guide = new JMenuItem("User Guide");
            help.add(guide);

        JMenuItem about = new  JMenuItem("About");
            help.add(about);
            about.addActionListener(new AboutClick());

        JPanel jpOne = new JPanel();

        JLabel output = new JLabel();

        jf.add(jpOne);
        jpOne.add(output);

        jf.setVisible(true);
        jf.setSize(800, 600);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }//void gui end

    public void FileOpener()
    {
        JFileChooser chooser = new JFileChooser();

        int status = chooser.showOpenDialog(null);  

        try{
        if (status != JFileChooser.APPROVE_OPTION){

             // Error
        }else
          {
             File file = chooser.getSelectedFile();
             Scanner scan = new Scanner(file);



             String info = "";
             while (scan.hasNext()){
                info += scan.nextLine() + "\n";
             }


          }
    }catch(Exception e){
    }
    }



    public static void main(String[] args)
    {
        new GraphDisplay();

    }//main end

    class ExitClick implements ActionListener
    {

        public void actionPerformed(ActionEvent e)
        {
            System.exit(0);
        }

    }//ExitClick end

    class AboutClick implements ActionListener
    {

        public void actionPerformed(ActionEvent e)
        {
            JOptionPane.showMessageDialog(null, "This program is used to show graph from user's text file", "About", JOptionPane.INFORMATION_MESSAGE);
        }

    }//AboutClick end

    class LoadClick implements ActionListener
    {

        public void actionPerformed(ActionEvent e)
        {
            FileOpener();
        }

    }//AboutClick end

}//class end

多谢各位


共 (0) 个答案