2 u010492885 u010492885 于 2015.07.12 00:02 提问

JFileChooser打开文件怎么变这样?

开发记事本一开始怎么这样了?
(https://img-ask.csdn.net/upload/201507/11/1436630076_786879.png)

4个回答

tongyi55555
tongyi55555   2015.07.12 09:43
已采纳

问题的关键是你把选择文件对话框加到了你的JFrame中,这是不对的,注释掉就行了。改成下面的:

// 默认方式
            jfc1.showOpenDialog(null);
    //          this.add(jfc1); //注释掉这一行即可。
u010492885
u010492885 谢谢!
大约 3 年之前 回复
u010492885
u010492885 谢谢!
大约 3 年之前 回复
caozhy
caozhy   Ds   Rxr 2015.07.12 00:06

JFileChooser本身的bug,把你的程序拿到windows 7上运行看看。
另外看看你的计算机是不是感染了360等病毒,它们会破坏和干扰系统的运行。

u010492885
u010492885   2015.07.12 01:23

package com.notepad;
import java.io.*;
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class notepad extends JFrame implements ActionListener{
/**
* @记事本开发界面和功能
* 组件:JMenubar--->JMenu---->JMenuItem
* 组件:JFileChooser
*/
//定义组件
JTextArea jta=null;
//菜单栏组件
JMenuBar jmb=null;
JMenu jm1=null;
JMenu jm2=null;
JMenuItem jmi1=null;
JMenuItem jmi2=null;
public static void main(String[] args) {
// TODO Auto-generated method stub
notepad nt=new notepad();
}
//构造函数中添加组件
public notepad(){
//初始化组件
jta=new JTextArea();
jmb=new JMenuBar();
jm1=new JMenu("文件");
jmi1=new JMenuItem("打开");
jmi2=new JMenuItem("保存");

    //监听
     jmi1.addActionListener(this);
    jmi1.setActionCommand("open");
    //助记符
    jm1.setMnemonic('F');
    //添加组件
        jmb.add(jm1);
        jm1.add(jmi1);
        jm1.add(jmi2);
        this.add(jta);

   //注意添加按钮组件的方式
        this.setJMenuBar(jmb);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setSize(4000,3000);
        this.setVisible(true);
}
public void actionPerformed(ActionEvent arg0) {
    // TODO Auto-generated method stub
    if(arg0.getActionCommand().equals("open")){
        System.out.println("aaa");
        //文件选择组件
        JFileChooser jfc1=new JFileChooser();
        //选择对话
        jfc1.setDialogTitle("请选择文件...");
        jfc1.setVisible(true);
        //默认方式
        jfc1.showOpenDialog(null);
        this.add(jfc1); 
        //获取文件路径
        String filename=jfc1.getSelectedFile().getAbsolutePath();
        System.out.println(filename);
        //打开文件显示到文本中
        FileReader fr=null;
        BufferedReader br=null;
        try {
            fr=new FileReader(filename);
            br=new BufferedReader(fr);
            String s="";
            String allCon="";
            while((s=br.readLine())!=null){
                allCon+=s+"\r\n";
            }
            jta.setText(allCon);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            try {
                br.close();
                fr.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }
        }
}

}


这是代码,帮帮忙。

u010492885
u010492885   2015.07.12 01:23

package com.notepad;
import java.io.*;
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class notepad extends JFrame implements ActionListener{
/**
* @记事本开发界面和功能
* 组件:JMenubar--->JMenu---->JMenuItem
* 组件:JFileChooser
*/
//定义组件
JTextArea jta=null;
//菜单栏组件
JMenuBar jmb=null;
JMenu jm1=null;
JMenu jm2=null;
JMenuItem jmi1=null;
JMenuItem jmi2=null;
public static void main(String[] args) {
// TODO Auto-generated method stub
notepad nt=new notepad();
}
//构造函数中添加组件
public notepad(){
//初始化组件
jta=new JTextArea();
jmb=new JMenuBar();
jm1=new JMenu("文件");
jmi1=new JMenuItem("打开");
jmi2=new JMenuItem("保存");

    //监听
     jmi1.addActionListener(this);
    jmi1.setActionCommand("open");
    //助记符
    jm1.setMnemonic('F');
    //添加组件
        jmb.add(jm1);
        jm1.add(jmi1);
        jm1.add(jmi2);
        this.add(jta);

   //注意添加按钮组件的方式
        this.setJMenuBar(jmb);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setSize(4000,3000);
        this.setVisible(true);
}
public void actionPerformed(ActionEvent arg0) {
    // TODO Auto-generated method stub
    if(arg0.getActionCommand().equals("open")){
        System.out.println("aaa");
        //文件选择组件
        JFileChooser jfc1=new JFileChooser();
        //选择对话
        jfc1.setDialogTitle("请选择文件...");
        jfc1.setVisible(true);
        //默认方式
        jfc1.showOpenDialog(null);
        this.add(jfc1); 
        //获取文件路径
        String filename=jfc1.getSelectedFile().getAbsolutePath();
        System.out.println(filename);
        //打开文件显示到文本中
        FileReader fr=null;
        BufferedReader br=null;
        try {
            fr=new FileReader(filename);
            br=new BufferedReader(fr);
            String s="";
            String allCon="";
            while((s=br.readLine())!=null){
                allCon+=s+"\r\n";
            }
            jta.setText(allCon);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            try {
                br.close();
                fr.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }
        }
}

}


这是代码,帮帮忙。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
使用JFileChooser打开文件
-----------------siwuxie095                         工程名:TestFileChooser 包名:com.siwuxie095.filechooser 类名:TestOpen.java       工程结构目录如下:                 代码:    package com.siwux
JAVASE中JFileChooser的使用小结 打开文件并显示
点击(此处)折叠或打开 // 给按钮添加1个事件         bu.addActionListener(new ActionListener() {             public void actionPerformed(ActionEvent
使用Profile文件记录JFileChooser(或者File控件)最新打开的文件路径
一、描述 我们使用JFileChooser或者File控件打开Windows系统目录下的文件之后,如何保存我们最近打开的文件路径,使得每次打开文件就能打开最近一次打开的文件目录,而不是每次默认打开C:\Users\Administrator\Documents目录。我们需要使用Profile属性文件来记录最近打开的文件路径,在File控件打开文件前先读取配置文件中的最近文件目录,在打开文件后将路
Swing学习_文件选择框(JFileChooser)框示例代码
//代码虽然写出来了,但是打开某些文件时还会产生乱码import javax.swing.JFrame;import javax.swing.JButton;import javax.swing.JTextArea;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JFileChooser;import java.awt.BorderLayout;impo
JFileChooser设置窗体打开路径
JFileChooser作为Java中Swing的文件选取器,是放置文件
调用JFileChooser获得文件目录,文件路径(用于下载文件时候自定义下载的路径)
import java.awt.Component; import javax.swing.JFileChooser; public class FileChooser { public static void main(String[] args) { JFileChooser chooser = new JFileChooser(); /* * 根据JFileChooser对弹出的文件夹框
JFileChooser如何保存特定的文件类型
<br />    关于这个问题,我一开始觉得很简单,结果上搜索引擎一搜,看到很多写得长篇大论,一下子觉得这是个很复杂的东西,再认真想想sun公司会这么不聪明么?这么常用都没想到?当然不是,后来我翻了下API,找到了Swing包下的FileFilter这么一个抽象类,30多行代码全部搞定,先看下弄后之后的效果图<br /> <br /><br /> <br />    从图可以看到,我所选择保存类型为.items类型的文件,如果当前文件夹以存在相同类型的,再显示。<br />    直接贴源码了,在贴之前和
java JFileChooser与 文件过滤器FileFilter
JfileChooser使用中可以用addChoosableFileFilter()方法来实现文件过滤。 public void addChoosableFileFilter(FileFilter filter); FileFilter 是一个抽象类,JFileChooser 使用它过滤显示给用户的文件集合。 FileFilter 可以设置在 JFileChooser 上,以阻止不需要的文
利用JFileChooser选择图片文件并在面板中显示
-
JFileChooser (Java Swing提供的文件选择对话框)
JFileChooser()           构造一个指向用户默认目录的 JFileChooser。 JFileChooser(File currentDirectory)           使用给定的 File 作为路径来构造一个 JFileChooser。 setFileSelectionMode(int mode)           设