zoukankan      html  css  js  c++  java
  • 2020.10.5收获

    前两天进行了验证码登录界面的执行,在学习过程中遇到了很多问题。此文章对 对话框 知识进行了较为全面的学习和整理。

    一、JDialog类

    通过建立JDialog的子类来建立一个对话框类,然后这个类的一个实例,即这个子类创建的一个对象,就是一个对话框。

    对话框是一个容器,可以添加组件,实现与用户的交互操作。

    需要注意的是,对话框可见时,默认被系统添加到显示器屏幕上,因此不允许将一个对话框添加到另一个容器中。

    1、JDialog类的主要方法

    JDialog():构造一个无标题的初始不可见的对话框。对话框依赖一个默认的不可见的窗口,该窗口由Java运行环境提供。

    JDialog(JFrame owner):构造一个无标题的初始不可见的无模式的对话框。owner 是对话框所依赖的窗口,如果owner 取null,对话框依赖一个默认的不可见的窗口,该窗口由Java运行环境提供。

    JDialog(JFrame owner,String title):构造一个具有标题的初始不可见的无模式的对话框。参数title 是对话框的标题的名字,owner是对话框所依赖的窗口,如果owner 取null。对话框依赖一个默认的不可见的窗口,该窗口由Java运行环境提供。

    JDialog(JFrame owner,String title,boolean modal):构造一个具有标题title的初始不可见的对话框,参数modal决定对话框是否有模式,参数owner是对话框所依赖的窗口,如果owner 取null,对话框依赖一个默认的不可见的窗口,该窗口由Java运行环境提供。

    getTitle():获取对话框的位置

    setTitle():设置对话框的标题

    setModal(boolean):设置对话框的模式

    setSize():设置对话框的大小

    setVisible(boolean b):显示或隐藏对话框

    public void setJMenuBar(JMenubar menu):为对话框添加菜单条

    import java.awt.*;
    
    import java.awt.event.*;
    
    import javax.swing.*;
    
    
    public class Main{
    
    	public static void main(String[] args)throws Exception{
    
            JButton but1=new JButton("模态对话框");
    
            JButton but2=new JButton("非模态对话框");
    
            JFrame f=new JFrame("DialogDemo");
    
            f.setSize(500, 400);
    
            f.setLocation(300, 200);
    
            f.setLayout(new FlowLayout());//设置布局管理器
    
            f.add(but1);
    
            f.add(but2);
    
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置默认关闭按钮
    
            f.setVisible(true);
    
            
    
            final JLabel label=new JLabel();//创建一个标签
    
            final JDialog dialog=new JDialog(f,"Dialog");
    
            dialog.setSize(220,150);
    
            dialog.setLocation(400, 300);
    
            dialog.setLayout(new FlowLayout());
    
            final JButton but3=new JButton("确认");
    
            dialog.add(but3);
    
            
    
            //为模态对话框添加点击事件
    
            but1.addActionListener(new ActionListener(){
    
            	public void actionPerformed(ActionEvent e){
    
            		dialog.setModal(true);//设置对话框为模态
    
            		if(dialog.getComponents().length==1){//若对话框中还没有添加标签则添加上
    
            			dialog.add(label);
    
            		}
    
            		label.setText("模式对话窗,点击确认关闭");//修改标签内容
    
            		dialog.setVisible(true);
    
            	}
    
            });
    
            
    
            but2.addActionListener(new ActionListener(){
    
            	public void actionPerformed(ActionEvent e){
    
            		dialog.setModal(false);//设置对话框为模态
    
            		if(dialog.getComponents().length==1){//若对话框中还没有添加标签则添加上
    
            			dialog.add(label);
    
            		}
    
            		label.setText("模式对话窗,点击确认关闭");//修改标签内容
    
            		dialog.setVisible(true);
    
            	}
    
            });
    
            
    
            but3.addActionListener(new ActionListener(){
    
    			public void actionPerformed(ActionEvent e){
    
    				dialog.dispose();
    
    			}
    
    		});
    
    	}
    
    }
    

    运行程序后会出现一个窗口,若点击模式对话框后,必须先关闭Dialog才能关闭DialogDemo,而点击非模式对话框后,无论是否关闭Dialog都可以关闭DialogDemo

  • 相关阅读:
    【设计模式:单例模式】使用单例模式载入properties文件
    Java 强引用,软引用,弱引用
    sharepreference实现记住password功能
    WWDC2015
    activity之栈管理
    LeetCode:Palindrome Number
    ZOJ 3822 Domination(概率dp)
    WCF报 当前已禁用此服务的元数据发布的错误
    HTML常见标签总结
    xml基础总结
  • 原文地址:https://www.cnblogs.com/ltw222/p/13772201.html
Copyright © 2011-2022 走看看