📄 customdialog.java
字号:
package boco.shabank.powermanager;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: </p> * @author unascribed * @version 1.0 */import javax.swing.JOptionPane;import javax.swing.JDialog;import javax.swing.JTextField;import javax.swing.JPasswordField;import javax.swing.JPanel;import java.beans.*; //属性改变Property change stuffimport java.awt.*;import java.awt.event.*;class CustomDialog extends JDialog { //输入的用户名和密码 private String typedName = ""; private String typedPin = ""; //从数据库里面查询到的数据库的用户名和密码 private String theName=""; private String thePin=""; private JOptionPane optionPane; JPanel contentPane; //标识是否通过数据库的用户名和密码校验 private boolean validated=false; public synchronized boolean getValidated() { return(validated); } public synchronized void setValidated(){ validated=true; } public CustomDialog(Frame aFrame, String powerpath,String powername,String powerdes) { super(aFrame, true); //final Frame1 mainframe = parent; contentPane = (JPanel)this.getContentPane(); contentPane.setLayout(null); this.setBounds(new Rectangle(300,200,200,200)); //this.setSize(new Dimension(460, 200)); setTitle("加入权限管理"); //theName=name; //thePin=pin; final String pathString = "权限路径"; final String nameString = "权限名称"; final String desString = "权限说明"; final JTextField pathField = new JTextField(20); final JTextField nameField = new JTextField(20); final JTextField desField = new JTextField(20); Object[] array = {pathString,pathField,nameString,nameField,desString,desField}; final String btnString1 = "确认"; final String btnString2 = "取消"; Object[] options = {btnString1, btnString2}; optionPane = new JOptionPane(array, JOptionPane.QUESTION_MESSAGE, JOptionPane.YES_NO_OPTION, null, options, options[0]); //optionPane.setBounds(new Rectangle (200,300,200,200)); setContentPane(optionPane); setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent we) { /* * 不是直接关闭窗口, * 我们要改变JOptionPane的值的属性. */ optionPane.setValue(new Integer(JOptionPane.CLOSED_OPTION)); } }); //描述域响应回车事件 desField.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { optionPane.setValue(btnString1); } }); optionPane.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent e) { String prop = e.getPropertyName(); if (isVisible() && (e.getSource() == optionPane) && (prop.equals(JOptionPane.VALUE_PROPERTY) || prop.equals(JOptionPane.INPUT_VALUE_PROPERTY))) { Object value = optionPane.getValue(); if (value == JOptionPane.UNINITIALIZED_VALUE) { //忽略重设 return; } // 重新设置JOptionPane的值. // 如果不这样做,那么如果用户下次点击同样的按钮, // 属性改变事件将不会被激发. optionPane.setValue( JOptionPane.UNINITIALIZED_VALUE); //如果回车或点击确认按钮 if (value.equals(btnString1)) { //typedName = nameField.getText(); //typedPin = pinField.getText(); /* JOptionPane.showMessageDialog( CustomDialog.this, "对不起,密码错误", "请再试一次", JOptionPane.ERROR_MESSAGE); typedPin=null; }*/ } //用户关闭对话框或者点击取消按钮 else { typedName = null; typedPin = null; setVisible(false); } } } }); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -