文件对话框
文件对话框是一个从文件中选择文件的界面,也就是弹出一保存或者打开文件的对话框,想要真正打开或保存文件需要用到输入输出流
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,操作数2和目的操作数地址
- 二地址指令格式//两个操作数地址
- 一地址指令格式//只有一个操作数地址,若针对两个操作数的指令那么另一个就被隐含的(在累加器AC中)
- 零地址指令格式//只有操作数没有操作地址
寻址方式
如何对指令中的地址字段进行解释
- 立即寻址//操作数就包含在指令中
- 直接寻址//操作数存放在内存单元中
- 寄存器寻址//操作数存放在某一寄存器中
- 寄存器间接寻址//操作数存放在内存单元中
- 间接寻址//操作数存放在内存单元中
- 基址寻址//操作数存放在内存单元中
- 变址寻址//操作数存放在内存单元中
指令种类
不同CPU所设计的指令系统各有不同
- 数据传送类指令
1.数据传送指令//有两个操作数地址,源操作数地址和目的操作数地址
2.数据交换指令
- 输入输出类指令//
- 算术运算类指令//实现算术运算
- 逻辑运算类指令//实现逻辑指令
- 移位操作指令
1.算术移位//
2.逻辑移位//主要对无符号操作数进行移位
3.循环移位//分为带进位循环和不带进位循环
- 程序控制类指令
1.跳转指令
2.子程序调用和返回指令
3.陷阱指令
- 串操作类指令
- 处理机控制类指令
- 数据转换类指令
CET4P170
vehicle
accent
champion
slam
imagination
endure
evil
sleeve
elsewhere
social
gradual
framework