zoukankan      html  css  js  c++  java
  • 第13章 Swing程序设计----JDialog窗体

    JDialog窗体是Swing组件中的对话框

    JDialog窗体的功能是从一个窗体中弹出另一个窗体,就像是在使用IE浏览器时弹出的确定对话框一样。

    在应用程序中创建JDialog窗体需要实例化JDialog类,通常使用以下几个JDialog类的构造方法

      public JDialog(): 创建一个没有标题和父窗体的对话框。

      public JDialog(Frame f): 创建一个指定父窗体的对话框,但该窗体没有标题。

      public JDialog(Frame f, boolean model): 创建一个指定模式的父窗体对话框,但该窗体没有指定标题。

      public JDialog(Frame f, String title): 创建一个指定父窗体和标题的对话框。

      public JDialog(Frame f, String title, boolean model): 创建一个指定窗体、标题和模式的对话框。

    import java.awt.Color;
    import java.awt.Container;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JButton;
    import javax.swing.JDialog;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.SwingConstants;
    import javax.swing.WindowConstants;
    
    class MyJDialog extends JDialog {//创建新类继承JDialog类
        public MyJDialog(MyFrame frame){
            //实例化一个JDialog类对象,指定对话框的父窗体、窗体标题和类型
            super(frame,"第一个JDialog窗体",true);
            Container container=getContentPane();  //创建一个容器
            container.add(new JLabel("这是一个对话框"));//在容器中添加标签
            setBounds(120,120,100,100);//设置对话框窗体大小
        }
    }
    public class MyFrame extends JFrame{
        public static void main(String args[]){
            new MyFrame();
        }
        public MyFrame(){
            Container container=getContentPane();
            container.setLayout(null);
         //父窗体 JLabel jl
    =new JLabel("这是一个JFrame窗体"); jl.setHorizontalAlignment(SwingConstants.CENTER); //将标签的文字至于标签中间位置 container.add(jl); JButton bl=new JButton("弹出对话框"); bl.setBounds(10, 10, 100, 21); bl.addActionListener(new ActionListener(){ //为按钮添加鼠标单击事件 public void actionPerformed(ActionEvent e){ new MyJDialog(MyFrame.this).setVisible(true); //使MyDialog窗体可见 } }); container.add(bl); container.setBackground(Color.white); setSize(200, 200); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); setVisible(true); } }

         运行结果如图:

      

      分析:在本实例中,为了使对话框在父窗体弹出,定义了一个JFrame窗体,首先在该窗体中定义一个按钮,然后为此按钮添加一个鼠标单击监听事件(在这里使用了匿名内部类的形式)。这里使用new MyJDialog().setVisible(true)语句使对话框窗体课件,这样就实现了用户单击该按钮后弹出对话框功能。

  • 相关阅读:
    PHP常用时间函数总结
    LNMP 1.2缓存加速类扩展(xcache/Redis/memcached/eAccelerator)、imageMagick、ionCube安装教程
    LNMP强制https访问
    查看lnmp的编译参数和版本
    LNMP 1.2/1.3+升级Nginx、MySQL/MariaDB、PHP教程
    微信小程序websocket多页面冲突解决办法
    lnmp “.user.ini”无法删除解决方法
    一些js函数
    vue下拉框三级联动
    mysql取某个字段中的内容有等于数组中某个元素的数据
  • 原文地址:https://www.cnblogs.com/chamie/p/4581945.html
Copyright © 2011-2022 走看看