DataExchangeTest.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class DataExchangeTest
{
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
DataExchangeFrame frame = new DataExchangeFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

}
});
}
}


class DataExchangeFrame extends JFrame
{
public DataExchangeFrame()
{
setTitle("图形界面开发测试");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
JMenuBar mbar = new JMenuBar();
setJMenuBar(mbar);
JMenu fileMenu  = new JMenu("菜单");
mbar.add(fileMenu);
JMenuItem connectItem = new JMenuItem("数据库连接");
connectItem.addActionListener(new ConnectAction());
fileMenu.add(connectItem);
JMenuItem exitItem = new JMenuItem("退出");
exitItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
System.exit(0);

}

});
fileMenu.add(exitItem);
TextArea = new JTextArea();
add(new JScrollPane(TextArea),BorderLayout.CENTER);
}
public static final int DEFAULT_WIDTH = 1024;
public static final int DEFAULT_HEIGHT = 768;

 

private PasswordChooser Dialog = null;
private JTextArea TextArea;


private class ConnectAction implements ActionListener
{
 public void actionPerformed(ActionEvent Event)
 {
  if (Dialog == null)Dialog = new PasswordChooser();
  Dialog.setUser(new User("用户名",null));
  if (Dialog.showDialog(DataExchangeFrame.this,"Connect"))
  {
   User u = Dialog.getUser();
   TextArea.append("user name = " + u.getName()+ ",password = " + (new String(u.getPassword()))+ "/n");
   
   }
  }
 }
}

class PasswordChooser extends JPanel
{
 public PasswordChooser()
 {
 setLayout(new BorderLayout());
 JPanel Panel = new JPanel();
 Panel.setLayout(new GridLayout(2,2));
 Panel.add(new JLabel("用户名:"));
 Panel.add(username = new JTextField(""));
 Panel.add(new JLabel("密码"));
 Panel.add(password = new JPasswordField(""));
 add(Panel , BorderLayout.CENTER);
 okButton = new JButton("确定");
 okButton.addActionListener(new ActionListener()
 {
  public void actionPerformed(ActionEvent Event)
  {
   ok = true;
   Dialog.setVisible(false);
   
   }
  });
 JButton cancelButton = new JButton("退出");
 cancelButton.addActionListener(new ActionListener()
 {
  public void actionPerformed(ActionEvent Event)
  {
   Dialog.setVisible(false);
   
   }
  });
  JPanel buttonPanel = new JPanel();
  buttonPanel.add(okButton);
  buttonPanel.add(cancelButton);
  add(buttonPanel, BorderLayout.SOUTH);
  
  }
 public void setUser(User u)
 {
  username.setText(u.getName());
  }
  public User getUser()
  {
   return new User(username.getText(),password.getPassword());
   }
public boolean showDialog(Component parent,String title)
{
 ok = false;
 Frame Owner = null;
 if (parent instanceof Frame)Owner = (Frame)parent;
 else Owner = (Frame) SwingUtilities.getAncestorOfClass(Frame.class,parent);
 if(Dialog ==null|| Dialog.getOwner()!=Owner)
 {
  Dialog = new JDialog(Owner,true);
  Dialog.add(this);
  Dialog.getRootPane().setDefaultButton(okButton);
  Dialog.pack();
  
  }
  Dialog.setTitle(title);
  Dialog.setVisible(true);
  return ok;
 }


private JTextField username;
private JPasswordField password;
private JButton okButton;
private boolean ok;
private JDialog Dialog;

 }
 
 
 
 
 class User
 {
  public User(String aName,char[] aPassword)
  {
   name = aName;
   password = aPassword;
   
   }
   public String getName()
   {
    return name;
    }
    public char[] getPassword()
    {
     return password;
     }
     public void setName(String aName)
     {
      name = aName;
      }
      
      public void setPassword(char[] aPassword)
      {
       password = aPassword;
       }
 private String name;
 private char[] password;
 
 
  }
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值