自己定义一个dialog或是
用JOptionPane.show..要选的对话框样式

解决方案 »

  1.   

    新近写的一本书上的例子import java.io.*;
    import java.awt.*;public class all extends Frame
    {
    Button butupdata, butnew,butdelete ,done;

       Updatarec updata;
       Newrec newrec;
       Deleterec deleterec;
       
       RandomAccessFile file;
       record data;
       int account;
        
        public all()
        {
         super("Transaction Processor");
        
         data=new record();
        
         try
        
         {
         file=new RandomAccessFile("credit.dat","rw");
         }
         catch(IOException e)
         {
         System.err.print("Can not find file"+e.toString());
         System.exit(1);
         }
        
         setup();
         }
         
         public void setup()
         {
          resize(300,80);
          setLayout(new GridLayout(2,2));
         
          butupdata=new Button("Updata record");
          butnew=new Button("New record");
          butdelete=new Button("Delete record");
          done=new Button("Done");
         
          add(butupdata);
          add(butnew);
          add(butdelete);
          add(done);
         
          show();
         
          updata=new Updatarec(file);
          newrec=new Newrec(file);
          deleterec=new Deleterec(file);
         
          }
         
         
         
           public void cleanup()
      {
       try
       {
       file.close();
       }
         catch(IOException e)
         {
         System.err.print("File can not close properly"+e.toString());
         System.exit(1);
         }
       }
      
      
       public boolean handleEvent(Event event)
       {
      
      
       if(event.id==Event.WINDOW_DEICONIFY||event.target==done)
       {
       cleanup();
      
       hide();
       dispose();
       System.exit(0);
       return true;
       }
      
       if(event.target instanceof Button)
       {
       if(event.arg.equals("Updata record"))
       {
       updata.show();
       return true;
       }
      
       if(event.arg.equals("New record"))
       {
       newrec.show();
       return true;
       }
      
      
            if(event.arg.equals("Delete record"))
       {
       deleterec.show();
       return true;
       }
       }
      
       return super.handleEvent(event);
       }
      
      
      
       public static void main(String args[])
      {
       System.out.println("Starting...");
       all accounts=new all();
       }
    }
      

  2.   

    class Updatarec extends Dialog
    {
    RandomAccessFile file;
    TextField acct,fname,lname,bal,transaction;
    Label labacct,labfname,lablname,labbal,labtran;

    Button cancel,save;

    record data;
    int account;

    public Updatarec(RandomAccessFile f)
    {
    super(new Frame(),"Updata Record",true);
    resize(300,180);
    setLayout(new GridLayout(6,2));
    file=f;

    acct=new TextField(10);
    fname=new TextField(10);
    lname=new TextField(10);
    bal=new TextField(10);
    transaction=new TextField(10);

    labacct=new Label("Account");
    labfname=new Label("First name");
    lablname=new Label("Last name");
    labbal=new Label("Balance");
    labtran=new Label("Transaction amount");
    save=new Button("Save change");
    cancel=new Button("Cancel");

    add(labacct);add(acct);
    add(labfname);add(fname);
    add(lablname);add(lname);
    add(labbal);add(bal);
    add(labtran);add(transaction);
    add(save);add(cancel);

    data=new record();
    }
    public boolean action(Event event,Object o)
    {
    if(event.target==acct)
    {
    account=Integer.parseInt(acct.getText());

    if(account<1||account>100)
    {
    acct.setText("Invalid account");
    return true;
    }

    try
    {
    file.seek((account-1)*data.size());
    data.read(file);

    catch(IOException e)
         {
          acct.setText("Error reading file");
          }
         
         if(data.account!=0)
         {
          acct.setText(String.valueOf(data.account));
          fname.setText(data.fname);
          lname.setText(data.lname);
          bal.setText(String.valueOf(data.balance));
          transaction.setText("change(+) or payment(-)");
        }
         else
          acct.setText(String.valueOf(account)+"does not exist");
        
        }
         else if(event.target==transaction)
         {
          Double trans=Double.valueOf(transaction.getText());
          data.balance+=trans.doubleValue();
          bal.setText(String.valueOf(data.balance));
          }
         else if(event.target==save)
         {
          try{
          file.seek((account-1)*data.size());
          data.write(file);
          }
          catch(IOException e)
          {
          acct.setText("Error writing file");
          return true;
          }
          hide();
          clear();
          }
         
         else if(event.target==cancel)
         {
          hide();
          clear();
          }
         
    return true;
    }

    private void clear()
    {
    acct.setText("");
    fname.setText("");
    lname.setText("");
    bal.setText("");
    transaction.setText("");
    }

     }
      

  3.   

    class Newrec extends Dialog{
          
           RandomAccessFile file;
           TextField acct,fname,lname,bal;
           Label labacct,labfname,lablname,labbal;
           Button cancel,save;
          
           record data;
           int account;
          
           public Newrec(RandomAccessFile f)
           {
           super(new Frame(),"New record",true);
           resize(300,150);
           setLayout(new GridLayout(5,2));
           file=f;
          
           acct=new TextField(10);
    fname=new TextField(10);
    lname=new TextField(10);
    bal=new TextField(10);

    labacct=new Label("Account");
    labfname=new Label("First name");
    lablname=new Label("Last name");
    labbal=new Label("Balance");
    save=new Button("Save change");
    cancel=new Button("Cancel");

    add(labacct);
    add(acct);
    add(labfname);
    add(fname);
    add(lablname);
    add(lname);
    add(labbal);
    add(bal);
    add(save);
    add(cancel);

    data=new record();
           }
          
          
           public boolean action(Event event,Object o)
           {
          
              if(event.target==acct)
    {
    account=Integer.parseInt(acct.getText());

    if(account<1||account>100)
    {
    acct.setText("Invalid account");
    return true;
    }

       try
        {
    file.seek((account-1)*data.size());
    data.read(file);

       catch(IOException e)
            {
          acct.setText("Error reading file");
          }
         
          if(data.account==0)
            {
             fname.setText("Enter first name");
             lname.setText("Enter last name");
             bal.setText("Enter balance");
             }
            else
            {
             acct.setText(String.valueOf(data.account)+"already exist");
             fname.setText("");
             lname.setText("");
             bal.setText("");
             }
           }
                else if(event.target==save)
                {
                 try{
                 data.account=account;
                 data.lname=lname.getText();
                 data.fname=fname.getText();
                 data.balance=(Double.valueOf(bal.getText())).doubleValue();
                 file.seek((account-1)*data.size());
                 data.write(file);
                 }
                 catch(IOException e)
                 {
                 acct.setText("Error writing file");
                 return true;
                 }
                  hide();
                  clear(); 
                 }
                
                else if(event.target==cancel)
                {
                 hide();
                 clear();
                 } 
                 return true;
                }
                
             
             private void clear()
      {
    acct.setText("");
    fname.setText("");
    lname.setText("");
    bal.setText("");
    }
            
           }
      

  4.   

    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;/*
    <APPLET
    CODE=dialoginput.class
    WIDTH=300
    HEIGHT=200>
    </APPLET>
    */public class dialoginput extends JApplet implements ActionListener
    {
    JLabel top=new JLabel("Welcome to cn-java net !");
    JButton display=new JButton("&raquo;á&Ocirc;±&micro;&Ccedil;&Acirc;&frac14;");
    JLabel welcomeword=new JLabel(" &Auml;ú&raquo;&sup1;&Atilde;&raquo;&Oacute;&ETH;&micro;&Ccedil;&Acirc;&frac14; ");JLabel title=new JLabel(" &micro;&Ccedil; &Acirc;&frac14; &acute;° &iquest;&Uacute; "),
    name=new JLabel("&raquo;á&Ocirc;±&Atilde;&ucirc;:"),
    password=new JLabel("&Atilde;&Uuml;&Acirc;&euml;:");
    JTextField inputname=new JTextField(12);
    JPasswordField inputpassword=new JPasswordField(12);//&Oacute;&euml;AWT&sup2;&raquo;&Iacute;&not;&micro;&Auml;&Ecirc;&Ccedil;,Swing&Oacute;&ETH;&Ograve;&raquo;&cedil;&ouml;&Oacute;&Atilde;&Oacute;&Uacute;&iquest;&Uacute;&Aacute;&icirc;&micro;&Auml;&Igrave;&Oslash;&Ecirc;&acirc;&iquest;&Oslash;&frac14;&thorn;,&frac34;&Iacute;&Ecirc;&Ccedil;JPasswordField
    JButton ok=new JButton("&Egrave;·&para;¨"),
    cancel=new JButton("·&Aring;&AElig;ú");
    private JDialog dialog=new JDialog((Frame)null,"&micro;&Ccedil;&Acirc;&frac14;",true);public void init()
    {
    Container contentPane=getContentPane();
    Container dialogContentPane=dialog.getContentPane();
    JPanel p=new JPanel();contentPane.setLayout(new GridBagLayout());
    GridBagConstraints gbc=new GridBagConstraints();
    gbc.gridy=0;
    contentPane.add(top,gbc);
    gbc.gridx=GridBagConstraints.RELATIVE;
    gbc.gridy=1;
    contentPane.add(display,gbc);
    gbc.gridx=GridBagConstraints.RELATIVE;
    gbc.gridy=2; 
    contentPane.add(welcomeword,gbc);
    dialogContentPane.setLayout(new GridBagLayout());
    GridBagConstraints gbb=new GridBagConstraints();gbb.gridx=1;
    gbb.gridy=0;
    dialogContentPane.add(title,gbb);
    gbb.gridx=GridBagConstraints.RELATIVE;
    gbb.gridy=1;
    dialogContentPane.add(name,gbb);
    dialogContentPane.add(inputname,gbb);gbb.gridx=GridBagConstraints.RELATIVE;
    gbb.gridy=2;
    dialogContentPane.add(password,gbb);
    dialogContentPane.add(inputpassword,gbb);
    inputpassword.setEchoChar('*'); gbb.gridx=GridBagConstraints.RELATIVE;
    gbb.gridy=3;
    p.setLayout(new FlowLayout());p.add(ok);
    p.add(cancel);gbb.gridx=1;
    gbb.gridy=4;dialogContentPane.add(p,gbb); 
    display.addActionListener(this);
    ok.addActionListener(this);
    cancel.addActionListener(this);
    }public void actionPerformed(ActionEvent e)
    {
    if(e.getSource()==display){
    dialog.setBounds(200,200,300,200);
    dialog.show();
    }else if(e.getSource()==ok){
    welcomeword.setText("&Auml;ú&ordm;&Atilde;,"+inputname.getText()+",&raquo;&para;&Oacute;&shy;&sup1;&acirc;&Aacute;&Ugrave;&Ouml;&ETH;&Icirc;&Auml;Java&frac14;&frac14;&Ecirc;&otilde;&Iacute;&oslash;!");
    }else if(e.getSource()==cancel){
    welcomeword.setText("&Auml;&atilde;&Atilde;&raquo;&Oacute;&ETH;&Ecirc;&auml;&Egrave;&euml;!");
    }
    dialog.setVisible(false);
    }
    }
      

  5.   

    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;/*
    <APPLET
    CODE=dialoginput.class
    WIDTH=300
    HEIGHT=200>
    </APPLET>
    */public class dialoginput extends JApplet implements ActionListener
    {
    JLabel top=new JLabel("Welcome to cn-java net !");
    JButton display=new JButton("会员登录");
    JLabel welcomeword=new JLabel(" 您还没有登录 ");JLabel title=new JLabel(" 登 录 窗 口 "),
    name=new JLabel("会员名:"),
    password=new JLabel("密码:");
    JTextField inputname=new JTextField(12);
    JPasswordField inputpassword=new JPasswordField(12);//与AWT不同的是,Swing有一个用于口令的特殊控件,就是JPasswordField
    JButton ok=new JButton("确定"),
    cancel=new JButton("放弃");
    private JDialog dialog=new JDialog((Frame)null,"登录",true);public void init()
    {
    Container contentPane=getContentPane();
    Container dialogContentPane=dialog.getContentPane();
    JPanel p=new JPanel();contentPane.setLayout(new GridBagLayout());
    GridBagConstraints gbc=new GridBagConstraints();
    gbc.gridy=0;
    contentPane.add(top,gbc);
    gbc.gridx=GridBagConstraints.RELATIVE;
    gbc.gridy=1;
    contentPane.add(display,gbc);
    gbc.gridx=GridBagConstraints.RELATIVE;
    gbc.gridy=2; 
    contentPane.add(welcomeword,gbc);
    dialogContentPane.setLayout(new GridBagLayout());
    GridBagConstraints gbb=new GridBagConstraints();gbb.gridx=1;
    gbb.gridy=0;
    dialogContentPane.add(title,gbb);
    gbb.gridx=GridBagConstraints.RELATIVE;
    gbb.gridy=1;
    dialogContentPane.add(name,gbb);
    dialogContentPane.add(inputname,gbb);gbb.gridx=GridBagConstraints.RELATIVE;
    gbb.gridy=2;
    dialogContentPane.add(password,gbb);
    dialogContentPane.add(inputpassword,gbb);
    inputpassword.setEchoChar('*'); gbb.gridx=GridBagConstraints.RELATIVE;
    gbb.gridy=3;
    p.setLayout(new FlowLayout());p.add(ok);
    p.add(cancel);gbb.gridx=1;
    gbb.gridy=4;dialogContentPane.add(p,gbb); 
    display.addActionListener(this);
    ok.addActionListener(this);
    cancel.addActionListener(this);
    }public void actionPerformed(ActionEvent e)
    {
    if(e.getSource()==display){
    dialog.setBounds(200,200,300,200);
    dialog.show();
    }else if(e.getSource()==ok){
    welcomeword.setText("您好,"+inputname.getText()+",欢迎光临中文Java技术网!");
    }else if(e.getSource()==cancel){
    welcomeword.setText("你没有输入!");
    }
    dialog.setVisible(false);
    }
    }