JDialog类

JDialog类和JFrame类都是Window的子类,实例都属于底层容器,唯一的区别就是对话框必须要依赖于某个窗口
同样也是不允许添加到其他容器中

JDialog类的构造方法

  • JDialog()//无参数的构造方法
  • JDialog(JFrame owner)//带依赖者的对话框
  • JDialog(JFrame owner,String title)//带依赖者带标题的对话框
  • JDialog(JFrame owner,String title,boolean modal)//带依赖者带标题的对话框,设置为哪个模式

其余方法和JFrame类的大致上都可用,但有个是设置模式的

  • setModal(boolean)//设置模式

对话框的模式

  • 有模式 //当对话框出现是不能再操作当前程序的其他窗口
  • 无模式 //当对话框出现时能自由操作(不阻塞)

通过例子

首先创建窗口

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

public class myWindow extends JFrame implements ActionListener {
    JButton jButton;
    JTextArea jTextArea;
    myDialog myDialog;
    myWindow(){
        setTitle("我的窗口");
        setBounds(400,400,400,500);
        setLayout(new FlowLayout());
        Container con = this.getContentPane();
        con.setBackground(new Color(0x366728));
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
        myDialog = new myDialog(this,"我是对话框",true); //对话框实例化
        jButton = new JButton("点击显示对话框");
        jButton.addActionListener(this);
        add(jButton);
        jTextArea = new JTextArea(10,30);
        add(new JScrollPane(jTextArea));
        validate();
    }
    @Override
    public void actionPerformed(ActionEvent actionEvent) {
        myDialog.setLocation(this.getX()+this.getWidth(),this.getY());  //设置位置
        myDialog.setVisible(true);   //从这里开始停止执行下列代码(阻塞)
        if(myDialog.getMessage() == 1){
            jTextArea.append("在对话框中点了YES\n");
        }
        else if (myDialog.getMessage() == 0){
            jTextArea.append("在对话框中点了NO\n");
        }
        else if (myDialog.getMessage() == -1){
            jTextArea.append("在对话框中点了关闭\n");
        }
    }
}

然后创建对话框

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

public class myDialog extends JDialog implements ActionListener {
    static final int YES = 1,NO = 0;
    int message = -1;
    JButton yes,no;
    myDialog(JFrame jFrame,String s,boolean boo){
        super(jFrame,s,boo);    //调用父类的构造方法
        setSize(200,200);
        setLayout(new FlowLayout());
        yes = new JButton("YES");
        yes.addActionListener(this);
        add(yes);
        no = new JButton(("NO"));
        no.addActionListener(this);
        add(no);
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {  //当删除对话框时将对话框消失
                message = -1;
                setVisible(false);  //不可见
            }
        });
    }
    @Override
    public void actionPerformed(ActionEvent actionEvent) {
        if (actionEvent.getSource() == yes){
            message = YES;
            setVisible(false);  //不可见
        }
        else if(actionEvent.getSource() == no){
            message = NO;
            setVisible(false);
        }
    }
    public int getMessage() {
        return message;
    }
}

最后进行测试

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

运行结果

java 文本输入框 java输入对话框_ide

  • 要注意的是对话框是依赖于当前窗口的,应该在窗口中实例化

输入/输出技术

输入输出(I/O)系统是计算机与外界进行数据交换的通道

1.接口的功能及分类

接口又称为界面,世界两个相对独立的子系统之间的相连部分

主要功能有

  • 地址译码功能
  • 在主机和I/O设备间交换数据/控制命令及状态信息
  • 支持主机采用程序查询/中断/DMA等访问方式
  • 提供主机和I/O设备所需的缓冲/暂存/驱动功能
  • 进行数据的类型/格式等方面的转换

接口的分类

  • 按数据的传送格式分为并行接口和串行接口
  • 按主机访问I/O设备的控制方式,可分为程序查询接口,中断接口,DMA接口以及通道控制器,I/O处理机
  • 按时序控制方式可分为同步接口和异步接口

2.主机和外设间的连接方式
主机和外设见得连接方式常见的由总线型,星型,通道方式,和I/O处理机等,其中总线型方式是基本方式

3.I/O接口的编址方式

  • 与内存单元统一编址
  • I/O接口单独编址

4.CPU与外设之间的交换数据的方式

  1. 直接程序控制
  2. 中断方式
    所谓的中断就是当CPU正在执行程序的过程中,由于外部的事件发生使得CPU暂时中止正在执行的程序,转去执行另一事件,当事件执行完毕时再回过头来执行未完成的程序//引起中断的事件成为事件源,CPU内部发生的事件成为内部中断源,外部发生的事件成为外部中断源
    //当I/O接口准备好接收数据或准备好向CPU传送数据时,就发出中断信号通知CPU.//从而提高CPU的利用率
    //由于需要执行若干条指令才能处理一次中断事件,因此无法满足高速的批量数据传送要求,所以引入DMA方式
  3. 直接存储器存取方式(DMA)
    基本思想就是采用专用部件生成访存地址并控制访存过程
  4. 通道控制方式

CSS

CSS 导航条添加链接描述CSS 图像透明度

JavaScript

JavaScript 函数 CallJavaScript 函数 ApplyJavaScript 闭包

CET4P169

industrial
accord
screen
gratitude
schedule
preference
limitation
error
disturb
cancer