u011056996 2014-03-11 01:05
浏览 2872

java在窗体里面打开任意文件

在做毕业设计,我用的是非常落伍的applet,不知道怎么在一个JFrame窗体里面打开任意的文件,
package day.two.show.card;

import java.awt.FileDialog;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

/**

  • @author Vector */ public class FileOpen { public static void main(String[] args) { @SuppressWarnings("unused") myFileDialog dialog = new myFileDialog(); }

}

class myFileDialog extends Frame implements ActionListener {
private static final long serialVersionUID = 1L;
FileDialog fileDialog1, fileDialog2;
MenuBar menuBar;
Menu menu;
MenuItem menuItem1, menuItem2;

/**
 * 对组件进行初始化
 */
public myFileDialog() {
    super("第一天,打开文件");
    setSize(300, 300);
    setVisible(true);
    menuBar = new MenuBar();
    menu = new Menu("文件");
    menuItem1 = new MenuItem("保存文件");
    menuItem2 = new MenuItem("打开文件");
    menuItem1.addActionListener(this);
    menuItem2.addActionListener(this);
    menu.add(menuItem1);
    menu.add(menuItem2);
    menuBar.add(menu);
    setMenuBar(menuBar);
    fileDialog1 = new FileDialog(this, "保存文件对话框", FileDialog.SAVE);
    fileDialog1.setVisible(false);
    fileDialog2 = new FileDialog(this, "打开文本文件对话框", FileDialog.LOAD);
    fileDialog2.setVisible(false);
    fileDialog1.addWindowListener(new WindowAdapter() {
        // 匿名内部类
        @Override
        public void windowClosing(WindowEvent e) {
            super.windowClosing(e);
            fileDialog1.setVisible(false);
        }
    });
    fileDialog2.addWindowListener(new WindowAdapter() {

        @Override
        public void windowClosing(WindowEvent e) {
            super.windowClosing(e);
            fileDialog2.setVisible(false);
        }
    });
    addWindowListener(new WindowAdapter() {

        @Override
        public void windowClosing(WindowEvent e) {
            super.windowClosing(e);
            setVisible(false);
            System.exit(0);
        }

    });
}

// 重写方法,实现事件的动作
@Override
public void actionPerformed(ActionEvent e) {
    if (e.getSource() == menuItem1) {
        fileDialog1.setVisible(true);

    } else if (e.getSource() == menuItem2) {
        fileDialog2.setVisible(true);
    }

}

}

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
    • ¥15 如何处理复杂数据表格的除法运算
    • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
    • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
    • ¥200 uniapp长期运行卡死问题解决
    • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
    • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
    • ¥15 乘性高斯噪声在深度学习网络中的应用
    • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
    • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集