Java文件对话框/消息对话框/指令系统简介

文件对话框

文件对话框是一个从文件中选择文件的界面,也就是弹出一保存或者打开文件的对话框,想要真正打开或保存文件需要用到输入输出流
JFileChooser类可以创建文件对话框//创建的是有模式不可见得对话框//调用下面的方法就变得可见了

  • showSaveDialog(Component e)//显示保存文件对话框//e是指定的位置
  • showOpenDialog(Component e)//显示打开文件对话框//

上面的方法被点击确定或取消时返回下列的常量之一

  • JFileChooser.APPROVE_OPTION//确定
  • JFileChooser.CANCEL_OPTION//取消

JFileChooser类可以调用getSelecedFile()获取所选这的文件

以下是例子

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class myWindow extends JFrame implements ActionListener {
    JFileChooser jFileChooser;
    JTextArea jTextArea;
    JMenuBar jMenuBar;
    JMenu jMenu;
    JMenuItem jMenuItemSave,jMenuItemOpen;
    myWindow(){
        setBounds(300,300,400,400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
        init();
        validate();
    }
    void init(){
        jFileChooser = new JFileChooser();
        jMenuBar = new JMenuBar();
        jMenu = new JMenu("菜单");
        jMenuItemOpen = new JMenuItem("打开");
        jMenuItemSave = new JMenuItem("保存");
        jMenuItemOpen.addActionListener(this);
        jMenuItemSave.addActionListener(this);
        jMenu.add(jMenuItemOpen);
        jMenu.add(jMenuItemSave);
        jMenuBar.add(jMenu);
        setJMenuBar(jMenuBar);
        jTextArea = new JTextArea();
        add(jTextArea);
    }
    @Override
    public void actionPerformed(ActionEvent actionEvent) {
        if (actionEvent.getSource() == jMenuItemOpen){
            int x = jFileChooser.showOpenDialog(this);  //在当前窗口中央出现
            if( x== JFileChooser.APPROVE_OPTION){   //获取常量
                jTextArea.append("你点击了确认\n");
                jTextArea.append("你打开的文件是\n" + jFileChooser.getSelectedFile()+"\n");
            }
            else if( x== JFileChooser.CANCEL_OPTION){
                jTextArea.append("你点击了取消或关闭\n");
            }
        }
        if (actionEvent.getSource() == jMenuItemSave){
            int x = jFileChooser.showSaveDialog(this);  //在当前窗口中央出现
            if( x== JFileChooser.APPROVE_OPTION){
                jTextArea.append("你点击了保存\n");
            }
            else if( x== JFileChooser.CANCEL_OPTION){
                jTextArea.append("你点击了取消或关闭\n");
            }
        }
    }
}

最后进行测试

public class Example11_2 {
    public static void main(String[] args) {
        myWindow myWindow = new myWindow();
    }
}

运行效果图
在这里插入图片描述

消息对话框

想要弹出提示或警告可以用JOptionPane类直接调用静态方法:

  • public static void showMessageDialog(Component e,String message,String title,int messageType )//
    //e可以设置为当前对象也可以设为null,你想要的弹出的位置
    //message是你想输出的信息
    //title是对话框的标题
    //messageType对话框的类型
    JOptionPane.WARNING_MESSAGE//感叹号图标

例子

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class myWindow extends JFrame implements ActionListener {
    JTextField jTextField;
    JTextArea jTextArea;
    myWindow(){
        setTitle("消息对话框");
        setBounds(300,300,400,400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
        jTextField = new JTextField();
        jTextField.addActionListener(this);
        add(jTextField,BorderLayout.NORTH);
        jTextArea = new JTextArea();
        add(jTextArea,BorderLayout.CENTER);
        validate();
    }
    @Override
    public void actionPerformed(ActionEvent actionEvent) {
        String regex = "-?[0-9]*[.]?[0-9]*";
        if (jTextField.getText().length() == 0){  //如果输入框的长度为0时就返回不进行操作
            return;
        }
        if (jTextField.getText().matches(regex)){
            double number = Double.parseDouble(jTextField.getText());
            jTextArea.append(number + "的平方是" + number*number + "\n");
        }
        else{
            JOptionPane.showMessageDialog(this,"请输入数字","警告提示框",JOptionPane.WARNING_MESSAGE);
            jTextField.setText(null);
        }
    }
}

测试

public class Example11_3 {
    public static void main(String[] args) {
        myWindow myWindow = new myWindow();
    }
}

运行效果图
在这里插入图片描述

指令系统简介

指令系统是计算机中硬件与软件之间的接口

指令格式

指令由两部分组成分别是操作码和地址码

  1. 三地址指令格式//操作数1,操作数2和目的操作数地址
  2. 二地址指令格式//两个操作数地址
  3. 一地址指令格式//只有一个操作数地址,若针对两个操作数的指令那么另一个就被隐含的(在累加器AC中)
  4. 零地址指令格式//只有操作数没有操作地址

寻址方式

如何对指令中的地址字段进行解释

  1. 立即寻址//操作数就包含在指令中
  2. 直接寻址//操作数存放在内存单元中
  3. 寄存器寻址//操作数存放在某一寄存器中
  4. 寄存器间接寻址//操作数存放在内存单元中
  5. 间接寻址//操作数存放在内存单元中
  6. 基址寻址//操作数存放在内存单元中
  7. 变址寻址//操作数存放在内存单元中

指令种类

不同CPU所设计的指令系统各有不同

  • 数据传送类指令

1.数据传送指令//有两个操作数地址,源操作数地址和目的操作数地址
2.数据交换指令

  • 输入输出类指令//
  • 算术运算类指令//实现算术运算
  • 逻辑运算类指令//实现逻辑指令
  • 移位操作指令

1.算术移位//
2.逻辑移位//主要对无符号操作数进行移位
3.循环移位//分为带进位循环和不带进位循环

  • 程序控制类指令

1.跳转指令
2.子程序调用和返回指令
3.陷阱指令

  • 串操作类指令
  • 处理机控制类指令
  • 数据转换类指令

CET4P170

vehicle
accent
champion
slam
imagination
endure
evil
sleeve
elsewhere
social
gradual
framework

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:像素格子 设计师:CSDN官方博客 返回首页

打赏作者

thisisouou

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值