栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

详解Java编程JDialog窗体的用法及实例

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

详解Java编程JDialog窗体的用法及实例

       JDialog 窗体是 Swing 组件中的对话框,它继承了 AWT 组件中 java.awt.Dialog 类。

        JDialog 窗体的功能是从一个窗体中弹出另一个窗体,就像是在使用 IE 浏览器时弹出的确定对话框,一样。JDialog 实质上就是另一种类型的窗体,它与  Jframe 窗体类似,在使用时也需要调用 getContentPane() 方法将窗体转换为容器,然后在容器中设置窗体的属性。

下面是一个简单的实例:

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.WindowConstants;

public class JDialogTest extends JDialog{
  public JDialogTest(){
  //实例化一个JDialog类对象,指定对话框的父窗体,窗体标题和类型
  super();
  Container container=getContentPane();
  container.setBackground(Color.green);
  container.add(new JLabel("这是一个对话框"));
  setBounds(120,120,100,100);
 }
  public void Myframe(){
  Jframe jf=new Jframe();//实例化Jframe对象
  Container container=jf.getContentPane();//将窗体转化为容器
  JButton jb=new JButton("弹出对话框");
  jb.setBounds(10, 10, 100, 20);//设置按钮的大小
  jb.addActionListener(new ActionListener() {
   //定义匿名内部类,这样才可以点击出现反应
   @Override
   public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub
    new JDialogTest().setVisible(true);;
   }
  });
  container.add(jb);//将按钮添加到容器中,这点非常重要,不然无法显示
  //设置容器的结构的特性
  jf.setTitle("这是窗体转化为容器");
  jf.setSize(200,200);//设置容器的大小
  jf.setVisible(true);//使窗体可见
  //设置窗体的关闭模式
  jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 }
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  JDialogTest jd=new JDialogTest();
  jd.Myframe();
 }

}

再来看一个:

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.WindowConstants;

public class Myframe extends Jframe {
 public void Myframe(){
  Jframe jf=new Jframe();//实例化一个Jframe对象
  Container container=jf.getContentPane();//将窗体转化为容器
  //Container container=getContentPane();
  container.setLayout(null);
    JLabel jl=new JLabel("这是一个Jframe窗体");//在窗体中设置标签
  jl.setHorizontalAlignment(JLabel.CENTER);//将标签中的文字置于标签中间的位置
  container.add(jl);//将标签添加到容器中
  
  JButton jb=new JButton("点我");//实例化一个按钮属性
  jb.setBounds(20, 20,100, 50);
  jb.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub
    //使MyJDialog窗体可见
    new MyJDialog(Myframe.this).setVisible(true);
   //上面一句话使对话框窗体可见,这样就实现了当用户单机该按钮后将弹出对话框的功能
   }
  });
  container.add(jb);//将按钮属性添加到容器中
  //设置容器里面的属性特点
  container.setBackground(Color.blue);
  //设置容器的框架结构特性
  jf.setTitle("这是一个容器");//设置容器的标题
  jf.setVisible(true);//设置容器可视化
  jf.setSize(450, 400);//设置容器的大小
  //设置容器的关闭方式
  jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 }
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Myframe fm=new Myframe();
  fm.Myframe();
 }
}
class MyJDialog extends JDialog{
 //本实例代码可以看到,JDialog窗体和Jframe窗体形式基本相同,甚至在设置窗体的特性
 //时调用的方法名称都基本相同,如设置窗体的大小,设置窗体的关闭状态等
 public MyJDialog(Myframe frame){//定义一个构造方法
  //实例化一个JDialog类对象,指定对话框的父窗体,窗体标题,和类型
  super(frame,"第一个JDialog窗体",true);
  Container container=getContentPane();//创建一个容器
  container.add(new JLabel("这是一个对话框"));//在容器中添加标签
  container.setBackground(Color.green);
  setBounds(120,120,100,100);
  
 }
}

        本实例可以看出,JDialog 窗体与 Jframe 窗体形式基本相同,甚至设置窗体的特性时调用的方法名称都基本相同,如设置窗体大小、窗体关闭状态等。

总结

       以上是本文的全部内容,希望对大家有所帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/144398.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号