JOptionPane应用备忘,基于弹出式密码框

用 JOptionPane 静态方法创建对话框


方法名                           对话框类型           描述                          返回值                配置项

ShowMessageDialog       消息          显示消息和一个确定按钮      void           标题,消息,消息类型,图标

 

showConfirmDialog         确认         询问一个问题用按钮来回答   int(代表按     标题,消息,消息类型,图

                                                                                             钮)               标,选项类型(按钮)

ShowInputDialog            输入          用一个文本域,组合框或列表  String         标题,消息,消息类型,图

                                                       来提示输入(若无选择值使用                    标,选择值,初始值

                                                       文本域,少于20个,使用组合框

                                                        多于20使用列表)

showOptionDialog           选项         除按钮中对象是完全可配置的 int(代表按  标题,消息,消息类型,图标

                                                       外,类似确认对话框                钮)           选项类型(按钮),选项,

                                                                                                                初始值 

 

JOptionPane的主要构造参数

 

parentComponent(Component)     这个对话框的父组件被设置为包含这个组件的窗体.通常,这个对话框在这个组件上居中显示.

message(Object)    在JOptionPane上显示的消息.这个对象的数据决定消息是如何被显示的:Object [] 数组中的每个对象都以下面的概要方式进行解释,并按顺序由上到下垂直排放.Stirng:字符串按原样显示.Compennet:组件按原样显示.Object:显示从toString()返回的字符串

MessageType:定义对话框风格包括布局和使用图标.对话框风格与界面样式有关.可允许的值是: JOptionPane.ERROR_MESSAGE;

JOptionPane.INFORMATION_MESSAGE;

JOptionPane.WARNING_MESSAGE;

JOptionPane.QUESTION_MESSAGE;

JOptionPane.PLAIN_MESSAGE;

 

icon(Icon)   一个装饰图标.如果没有显示地设置,则所使用的图标由消息类型参数来决定

title(String)   对话框的标题

 

 

 

弹出式密码框

 

public static char[] ShowPasswordDialog(Component parentComponent, Object message, String title){ JPanel jp=new JPanel(); //jp.setBorder(BorderFactory.createTitledBorder("Password")); jp.setLayout(new BoxLayout(jp,BoxLayout.Y_AXIS)); if(message instanceof JComponent){ jp.add((JComponent)message); }else{ JLabel l=new JLabel((String)message); jp.add(l); } final JPasswordField pf=new JPasswordField(15); jp.add(pf); JOptionPane pane = new JOptionPane(jp,JOptionPane.QUESTION_MESSAGE,JOptionPane.OK_CANCEL_OPTION); JDialog dialog = pane.createDialog(parentComponent,title); //使用密码框获得焦点, new Thread(new Runnable(){ public void run() { try { Thread.sleep(50); System.out.println("successs"); } catch (InterruptedException ex) { ex.printStackTrace(); } pf.requestFocus(); } }).start(); dialog.show();//阻塞,弹出窗口dispose后才执行下面代码 Object value=pane.getValue(); if(value.equals(JOptionPane.OK_OPTION)){ return pf.getPassword(); }else{ return null; } } }

 

 

 

 

 

 

 

 

你可能感兴趣的:(JAVA笔记)