p1.add(password = new JTextField(""));
 contentPane.add("Center",p1);------------------------------------
p1.add(password=new JPasswordField("应该是密码框组件"))

解决方案 »

  1.   

    太粗心了,可下面的错误我就找不出来了
    DataExchangeTest.java:51: '}' expected.
          }
           ^
    DataExchangeTest.java:53: Statement expected.
        public static void main(String [] args){
        ^
    2 errors
      

  2.   


    错误很多:现为如下,可运行!
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class DataExchangeTest extends JFrame implements ActionListener{
          private ConnectDialog dialog = null;
          private JMenuItem connectItem;
          private JMenuItem exitItem;

      public static void main(String[] args){
    JFrame f=new DataExchangeTest();
    f.show();
      }
          public DataExchangeTest(){
             setTitle("DataExchangeTest");
             setSize(200,200);
             
             addWindowListener(new WindowAdapter(){
                public void windowClosing(WindowEvent e){
                   System.exit(0);
                }
             });
             
             JMenuBar mbar = new JMenuBar();
             setJMenuBar(mbar);
             JMenu fileMenu = new JMenu("File");
             mbar.add(fileMenu);
             connectItem = new JMenuItem("Connect");
             connectItem.addActionListener(this);//
             fileMenu.add(connectItem);
             exitItem = new JMenuItem("Exit");
             exitItem.addActionListener(this);
             fileMenu.add(exitItem);
          }
          
      public void actionPerformed(ActionEvent evt){
             Object source = evt.getSource();
             if(source == connectItem){
                ConnectInfo transfer = new ConnectInfo("yourname","pw");
                if(dialog == null){
                   dialog = new ConnectDialog(this);
                if(dialog.showDialog(transfer)){
                   String uname = transfer.username;
                   String pwd = transfer.password;
                   Container contentPane = getContentPane();
                   contentPane.add(new JLabel("username="+uname+",password="+pwd),"South");
                   validate();
                }
             }else if(source == exitItem)
                System.exit(0);
          }}class ConnectInfo{
       public String username;
       public String password;
       public ConnectInfo(String u,String p){
          username = u;
          password = p;
       }
    }class ConnectDialog extends JDialog implements ActionListener{
          private JTextField username;
          private JPasswordField password;
          private boolean ok;
          private JButton okButton;
          private JButton cancelButton;
          
          public ConnectDialog(JFrame parent){
             super(parent,"Connect",true);
             Container contentPane = getContentPane();
             JPanel p1 = new JPanel();
             p1.setLayout(new GridLayout(2,2));
             p1.add(new JLabel("User name:"));
             p1.add(username = new JTextField(""));
             p1.add(new JLabel("Password:"));
             p1.add(password = new JPasswordField(""));
             contentPane.add("Center",p1);
             
             Panel p2 = new Panel();
             okButton = addButton(p2,"OK");
             cancelButton = addButton(p2,"Cancel");
             contentPane.add("South",p2);
             setSize(240,120);
          }
          
          private JButton addButton(Container c, String name){
             JButton button = new JButton(name);
             button.addActionListener(this);
             c.add(button);
             return button;
          }
          
          public void actionPerformed(ActionEvent evt){
             Object source = evt.getSource();
             if(source == okButton){
                ok = true;
                setVisible(false);
             }else if(source==cancelButton){
                setVisible(false);
             }
          }
          
          public boolean showDialog(ConnectInfo transfer){
             username.setText(transfer.username);
             password.setText(transfer.password);
             ok = false;
             show();
             if(ok){
                transfer.username = username.getText();
                transfer.password = new String(password.getPassword());
             }
             return ok;
          }
    }
    }