标题:事件处理的,文件对话框JFileChooser
只看楼主
gxq0013
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2013-1-20
结帖率:100%
已结贴  问题点数:20 回复次数:7 
事件处理的,文件对话框JFileChooser
import javax.swing.*;
import java.awt.event.*;
import

 class MyFrame extends JFrame implements ActionListener{
    JPanel contentPane;
    JMenuBar menubar;
    JMenu fileMenu;
    JMenuItem openItem,saveItem,exitItem;
    JScrollPane scroll;
    JTextArea txa;
   
    MyFrame(String s){
        super(s);
        setSize(400,300);
        setLocationRelativeTo(null);
        
        contentPane=new JPanel();
        setContentPane(contentPane);
        
        txa=new JTextArea();
        txa.setEditable(false);
        scroll=new JScrollPane();
        this.setContentPane(scroll);
        
        //菜单栏
        menubar=new JMenuBar();
        fileMenu=new JMenu("文件");
        openItem=new JMenuItem("打开");
        saveItem=new JMenuItem("保存");
        exitItem=new JMenuItem("退出");
        fileMenu.add(openItem);
        fileMenu.add(saveItem);
        fileMenu.addSeparator();
        fileMenu.add(exitItem);
        menubar.add(fileMenu);
        this.setJMenuBar(menubar);
        
        //为菜单项添加时间监听
        openItem.addActionListener(this);
        saveItem.addActionListener(this);
        exitItem.addActionListener(this);
        
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }
   
    //实现ActionListener接口的actionPerformed方法
   
    public void actionPerformed(ActionEvent e)
    {
        if(e.getSource()==exitItem)
            System.exit(0);
        if(e.getSource()==openItem)
        {
            JFileChooser chooser=new JFileChooser();           //创建文件对话框
            chooser.setCurrentDirectory(new File("."));        //路径为当前工程目录
            chooser.setMultiSelectionEnabled(true);            //设置为多选
            //显示“打开”文件对话框,返回用户操作
            int result=chooser.showOpenDialog(null);      
            if(result==JFileChooser.APPROVE_OPTION)            //若用户单击“打开”按钮
            {         
                txa.append("打开文件:");
                File files[]=chooser.getSelectedFiles();       //得到所选文件名称
                for(int i=0;i<files.length;i++){
                    txa.append("\""+files[i].getName()+"\"");
                }
                txa.append("\n");
            }
        }
        
        if(e.getSource()==saveItem){
            JFileChooser chooser=new JFileChooser();            //创建文件对话框
            chooser.setCurrentDirectory(new File("."));         //路径为当前工程目录
            int result=chooser.showSaveDialog(null);            //显示“保存”文件对话框,返回用户操作
            if(result==JFileChooser.APPROVE_OPTION);{           //若用户单击“保存”按钮
               String str=chooser.getSelectedFile().getName();
               txa.append("保存文件:\""+str+"\"");
               }
        }
    }
}
public class JFileDialogDemo {

    public static void main(String[] args) {
          MyFrame frm=new MyFrame("文件对话框演示");

    }

}
搜索更多相关主题的帖子: 400 import scroll 对话框 
2013-01-24 20:28
gxq0013
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2013-1-20
得分:0 
额,点错 ,一下发表了 , 我在这补充问下:
1.       txa=new JTextArea();
         txa.setEditable(false);
         scroll=new JScrollPane();
         this.setContentPane(scroll);
这里后三句是干什么的,是设置带滚动条的文本框么,但怎么运行了 没有显示。

2                txa.append("打开文件:");
                 File files[]=chooser.getSelectedFiles();       //得到所选文件名称
                 for(int i=0;i<files.length;i++){
                     txa.append("\""+files[i].getName()+"\"");
                 }
                 txa.append("\n");

这一段,txa.append("打开文件:"); 是什么? 同样在输出的程序中没有显示;还有 txa.append("\n");
是表示换行么? 可是,根据运行后的程序,没有需要换行的地方。。。   

没办法了,求路过的  “大婶”   多加指导啊~~  小弟,不胜感激  
2013-01-24 20:33
shellingford
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:19
帖 子:228
专家分:1348
注 册:2010-8-9
得分:15 
回复 2楼 gxq0013
import javax.swing.*;
 
import java.awt.event.*;
 
import
 
 
 
class MyFrame extends JFrame implements ActionListener{
 
    JPanel contentPane;
 
    JMenuBar menubar;
 
    JMenu fileMenu;
 
    JMenuItem openItem,saveItem,exitItem;
 
    JScrollPane scroll;
 
    JTextArea txa;
 
   
 
 
 
    MyFrame(String s){
 
        super(s);
 
        setSize(400,300);
 
        setLocationRelativeTo(null);
 
        
 
 
 
        contentPane=new JPanel();
 
        setContentPane(contentPane);
 
        
 
 
 
        txa=new JTextArea();
 
        txa.setEditable(false);
 
        scroll=new JScrollPane(txa);  //没有将txa放入scroll中是不会产生效果的,同时txa没有放入JFrame任何控件中,也就不会再界面显示
 
        this.setContentPane(scroll);
 
        
 
 
 
        //菜单栏
 
        menubar=new JMenuBar();
 
        fileMenu=new JMenu("文件");
 
        openItem=new JMenuItem("打开");
 
        saveItem=new JMenuItem("保存");
 
        exitItem=new JMenuItem("退出");
 
        fileMenu.add(openItem);
 
        fileMenu.add(saveItem);
 
        fileMenu.addSeparator();
 
        fileMenu.add(exitItem);
 
        menubar.add(fileMenu);
 
        this.setJMenuBar(menubar);
 
        
 
 
 
        //为菜单项添加时间监听
 
        openItem.addActionListener(this);
 
        saveItem.addActionListener(this);
 
        exitItem.addActionListener(this);
 
        
 
 
 
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
        setVisible(true);
 
    }
 
   
 
 
 
    //实现ActionListener接口的actionPerformed方法
 
   
 
 
 
    public void actionPerformed(ActionEvent e)
 
    {
 
        if(e.getSource()==exitItem)
 
            System.exit(0);
 
        if(e.getSource()==openItem)
 
        {
 
            JFileChooser chooser=new JFileChooser();           //创建文件对话框
 
            chooser.setCurrentDirectory(new File("."));        //路径为当前工程目录
 
            chooser.setMultiSelectionEnabled(true);            //设置为多选
 
            //显示“打开”文件对话框,返回用户操作
 
            int result=chooser.showOpenDialog(null);      
 
 
 
            if(result==JFileChooser.APPROVE_OPTION)            //若用户单击“打开”按钮
 
            {         
 
 
 
                txa.append("打开文件:");
 
                File files[]=chooser.getSelectedFiles();       //得到所选文件名称
 
                for(int i=0;i<files.length;i++){
 
                    txa.append("\""+files[i].getName()+"\"");
 
                }
 
                txa.append("\n");
 
            }
 
        }
 
        
 
 
 
        if(e.getSource()==saveItem){
 
            JFileChooser chooser=new JFileChooser();            //创建文件对话框
 
            chooser.setCurrentDirectory(new File("."));         //路径为当前工程目录
 
            int result=chooser.showSaveDialog(null);            //显示“保存”文件对话框,返回用户操作
 
            if(result==JFileChooser.APPROVE_OPTION);{           //若用户单击“保存”按钮
 
               String str=chooser.getSelectedFile().getName();
 
               txa.append("保存文件:\""+str+"\"");
 
               }
 
        }
 
    }
 
   
 
 
 
    public static void main(String[] args) {
 
         MyFrame frm=new MyFrame("文件对话框演示");
 
    }
 
}



[ 本帖最后由 shellingford 于 2013-1-24 23:55 编辑 ]
2013-01-24 23:52
shellingford
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:19
帖 子:228
专家分:1348
注 册:2010-8-9
得分:0 
以下是引用gxq0013在2013-1-24 20:33:57的发言:

额,点错 ,一下发表了 , 我在这补充问下:
1.       txa=new JTextArea();
         txa.setEditable(false);
         scroll=new JScrollPane();
         this.setContentPane(scroll);
这里后三句是干什么的,是设置带滚动条的文本框么,但怎么运行了 没有显示。

2                txa.append("打开文件:");
                 File files[]=chooser.getSelectedFiles();       //得到所选文件名称
                 for(int i=0;i


scroll=new JScrollPane(); 修改为 scroll=new JScrollPane(txa); 代码注释有写
三句话的确是这个意思,运行没有显示一是没有把txa加入到scroll中,另外一个只有当控件出现不够显示的情况才会有滚动条

第二个问题 \n 是有换行的意思,没有显示也是因为上面的原因。
2013-01-24 23:56
清微御宇
Rank: 6Rank: 6
来 自:开封
等 级:侠之大者
威 望:2
帖 子:318
专家分:497
注 册:2012-1-15
得分:5 
你要自己学着看JDK API 帮助文档(如果你的装JDK版本过高,可以下个汉化的,JDK1.6或其以下版本网上很多汉化的帮助文档),这样遇到这样的问题,才可以第一时间自己解决!

Stay hungry , Stay foolish!
2013-01-25 08:45
gxq0013
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2013-1-20
得分:0 
回复 4楼 shellingford
那txa.append(“打开文件:”),表示的是显示在运行后的程序上的? 还是指系统内部的操作?
2013-01-25 09:03
gxq0013
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2013-1-20
得分:0 
回复 5楼 清微御宇
恩 ,我也不希望一直麻烦别人呢,是我只是浅陋了 , 还不知道api 帮助文档,那东西, 可能跟我上课时翘课翘的多有关吧 。。。。。额,3Q了
2013-01-25 09:05
shellingford
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:19
帖 子:228
专家分:1348
注 册:2010-8-9
得分:0 
回复 6楼 gxq0013
显示在txa这个控件上的
2013-01-25 09:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-397534-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.262210 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved