*设为首页
*加入收藏
热门关键字: JAVA
>>当前位置:Java大本营>Applet与Swing>文章内容
java swing对话框
作者: 发布时间:2007-12-08 22:10:34

JDialog

JDialog扩展了java.awt.Dialog类,用来创建对话框,并且也区分模式对话框和非模式对话框;非模式对话框允许用户同时再对话框和程序的主窗口输入信息,而模式对话框在处理完之前不能与程序的主窗口进行交互。

创建一个模式对话框的程序例子:

Frame myFrame=new Frame();

JDialog modalDialog=new JDialog(myFrame,true);

若直接使用JDialog,可以使用add方法向其中添加控件

常用构造器:

JDialog(Frame owner),没有标题但是指定Frame作为其所有者的无模式对话框,若owner为null,则将一个共享的隐藏的窗体设为其所有者

JDialog(Frame owner,boolean modal),没标题,指定所有者和指定模式的对话框

JDialog(Frame owner,String title),指定标题和所有者的无模式对话框

JDialog(Frame owner,String title,boolean modal),指定标题,所有者,模式的对话框

JDialog(Dialog owner),没有标题,以指定的Dialog作为所有者的无模式对话框

JDialog(Dialog owner,String title,boolean modal),指定标题和所有者对话框及模式的对话框

 

常用操作:

isModal(),是否是模式对话框

setModal(boolean b),设置模式对话框与否

getTitle(),获取对话框标题

setTitle(String title),设置标题

另外,JDialog还继承了java.awt.Component,java.awt.Container,java.awt.Window类的所有方法。

但是,大多数时候并不使用JDialog创建对话框,而是使用系统提供的几种有特殊功能的对话框,如下:

JOptionPane

JOptionPane扩展了javax.swing.JComponent,是swing提供的用于手机用户信息的简单对话框。使用它可以定义并创建不同类型的对话框,因为它提供了对使用标准对话框,图标,指定对话框标题和文本以及自定义按钮文本的支持。

JOptionPane是一个用来建立复杂JDialog的实用工具类,其提供了一个建立普通弹出式模式对话框的简单方法,虽然大大减轻了编写代码的数量,但是无论用户正在做什么,都会强迫用户停止正在进行的操作并对弹出式对话框作出响应。

常用构造器

JOptionPane(Object message),显示指定消息,使用UI提供的普通消息类型和默认选项

JOptionPane(Object message,int messageType),指定内容和消息选项

JOptionPane(Object message,int messageType,int optionType),指定内容,消息类型和选项

JOptionPane(Object message,int messageType,int optionType,Icon icon),指定消息,消息类型,选项和图标

JOptionPane(Object message,int messageType,int optionType,Icon icon,Object[] options),指定消息,消息类型,图标,选项。最初没有任何选项

在创建JOptionPane对象时用到了JOptionPane的一些属性,如消息类型(ERROR_MESSAGE,INFORMATION_MESSAGE,PLAIN_MESSAGE,QUESTION_MESSAGE,WARNING_MESSAGE),选项类型(DEFAULT_OPTION(OK按钮),OK_CANCEL_OPTION,YES_NO_CANCEL_OPTION,YES_NO_OPTION),选择选项(CANCEL_OPTION,CLOSED_OPTION(按下no按钮),NO_OPTION,OK_OPTION,YES_OPTION,UNINITIALIZED_VALUE),并且为这些选项提供了存取方法

JOptionPane类还提供了一些用来创建特殊对话框的静态方法,即对象工厂。使用JOptionPane中提供的show**Dialog静态方法,可以用来创建如下四种不同的对话框:

MessageDialog,向用户显示消息,其中只包含一个按钮

ConfirmDialog,显示任意数据,可能包含用户可以从中选择的按钮

OptionDialog,要求用户确认某些信息,包括yes,no,ok,cancel这样的按钮

InputDialog,为用户提供了输入数据的一些方法,包括ok和cancel两个按钮

JOptionPane不仅提供了show**Dialog方法,而且还为创建每种对话框都提供了许多中重载的方法

输入对话框使用实例:

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

/**
 *
 * @author babycat
 */
public class DemoInputDialog extends JFrame{
    JLabel jLabelMessage;
  
    /** Creates a new instance of DemoInputDialog */
    public DemoInputDialog() {
        jLabelMessage=new JLabel();
        jLabelMessage.setHorizontalAlignment(SwingConstants.CENTER);
        jLabelMessage.setFont(new Font("宋体",Font.PLAIN,28));
        this.add(jLabelMessage);
       
        this.setBounds(150,150,400,200);
        this.setTitle("inputdialog example");
        this.setVisible(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        String title=new String("input dialog");
        String message=new String("please input text here");
        int messageType=JOptionPane.INFORMATION_MESSAGE;
        String inputMessage=(String)JOptionPane.showInputDialog(this,message,title,messageType);
        if(inputMessage!=null&&!inputMessage.equals("")){
            this.jLabelMessage.setText("you input"+inputMessage);
        }else{
            this.jLabelMessage.setText("you input nothing");
        }
    }
   
    public static void main(String[] args){
        new DemoInputDialog();
    }
   
}


· SWT树节点上弹出菜单的实现 (02-05)
·基于 JSF+Spring + JPA 构建敏捷的Web(02-01)
·在SWING 的 JFileChooser中俘获返回的(01-20)
·SWT中设置TableViewer和TreeViewer为双(01-19)
·Spring之特殊字符转义和方法入参检测工(01-16)
·spring2.5 + hibernate3.2x 标注(annot(01-13)
·spring2.5 + hibernate3.2x 标注(annot(01-13)
·SWT中的FormLayout (01-10)
·Spring基础(01-10)
·Spring 让 LOB 数据操作简单化 (12-26)
·Swing中使用Html标签 (12-26)
·Swing中使用Html标签 (12-26)
复制地址发给您的好友: [推荐文章] [返回顶部] [关闭窗口]
版权所有 Java大本营 1999-2007 转载请注明出处