我把代码写出来,大家帮忙看看好吗!?不够可以加分的。谢谢了
下面是登陆窗口
package rmi;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;
import javax.swing.event.*;/**
 * <p>Title:输入用户名的窗口 </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */public class textField extends JFrame {  public textField()
  {JFrame t = new rTeachWindow();
  t.addWindowListener(new WindowAdapter() {
       public void windowClosing(WindowEvent e) {
               System.exit(0);
       }
           });
   t.show();
   String title = "loginWindow";
   String message = "Please enter your name!!!";
   int messageType = JOptionPane.DEFAULT_OPTION;
   String name = "";
   String name2 = "";
   int optionType = JOptionPane.DEFAULT_OPTION;
   int messageType2 = JOptionPane.WARNING_MESSAGE;
   //String result = "";
   name = JOptionPane.showInputDialog(t,message,title,messageType);
   int input = name.compareTo("student");
if (input == 0){
  //输入正确后该做的代码;
}
else if(name == null){
  System.exit(0);//按取消键退出;
}
else {//输入不正确的循环代码;
for (int i = 2;i > 0; i--)
{name2 = JOptionPane.showInputDialog(t,"Error.Please enter again!!!",title,messageType);
 int input2 = name2.compareTo("student");
 if (input2 == 0){
  //输入正确后该做的代码;
   break;
}
else if(name2 == null){
  System.exit(0);//按取消键退出;
  break;
}
else if (i == 1){ JOptionPane.showConfirmDialog(t,"Error for three times!!!",title,optionType,messageType2);
 System.exit(0);//三次错误出现警告窗口
}
else {
  continue;
}
}  }
 }
}

解决方案 »

  1.   

    下面是基层的窗口,是个写字板:
    package rmi;/**
     * <p>Title:远程教学的用户视图</p>
     * <p>Description: 教学白板</p>
     * <p>Copyright: Copyright (c) 2003</p>
     * <p>Company: </p>
     * @author unascribed
     * @version 1.0
     */
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.undo.*;
    import javax.swing.event.*;
    import javax.swing.text.*;
    import java.io.*;
    import java.util.*;public class rTeachWindow extends JFrame implements UndoableEditListener,DocumentListener, Serializable, MenuListener{   private UndoableEdit edit;
       JTextArea    jta;
       private JMenuItem    Undo;
       private JMenuItem    Redo;
       private JMenuItem    Cut;
       private JMenuItem    Copy;
       private JMenuItem    Paste;
       private JMenuItem    Exit;
       private JMenuItem    About;
       public rTeachWindow(){           super("TeachWindow");
               jta = new JTextArea();
               jta.getDocument().addUndoableEditListener(this);
               jta.getDocument().addDocumentListener(this);
               //String text = jta.getText();       JPanel p1 = new JPanel();
           p1.setLayout(new GridLayout(1,1));
           p1.add(new JScrollPane(jta));           getContentPane().add(p1);           JMenuBar bar  = new JMenuBar();
               JMenu theMenu2 = new JMenu("File");
               JMenu theMenu = new JMenu("Edit");
               JMenu theMenu3 = new JMenu("Help");
               Cut = new JMenuItem("Cut");
               Copy = new JMenuItem("Copy");
               Paste = new JMenuItem("Paste");
               Undo = new JMenuItem("Undo");
               Redo = new JMenuItem("Redo");
               Exit = new JMenuItem("Exit");
            About = new JMenuItem("About");
               theMenu.add(Undo);
               theMenu.add(Redo);
               theMenu.addSeparator();
               theMenu.add(Cut);
               theMenu.add(Copy);
               theMenu.add(Paste);
               theMenu2.add(Exit);
               theMenu3.add(About);           bar.add(theMenu2);
               bar.add(theMenu);
               bar.add(theMenu3);
               updateMenuItem();           setJMenuBar(bar);
               setSize(300,300);
        Redo.setAccelerator(javax.swing.KeyStroke.getKeyStroke(90, java.awt.event.KeyEvent.CTRL_MASK | java.awt.event.KeyEvent.SHIFT_MASK, false));
        Undo.setAccelerator(javax.swing.KeyStroke.getKeyStroke(90, java.awt.event.KeyEvent.CTRL_MASK, false));
        Cut.setNextFocusableComponent(jta);
        Cut.setText("Cut");
        Cut.setAccelerator(javax.swing.KeyStroke.getKeyStroke(88, java.awt.event.KeyEvent.CTRL_MASK, false));
        Cut.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
          Cut_actionPerformed(e);
        }
        });
        Copy.setNextFocusableComponent(jta);
        Copy.setAccelerator(javax.swing.KeyStroke.getKeyStroke(67, java.awt.event.KeyEvent.CTRL_MASK, false));
        Copy.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
     Copy_actionPerformed(e);
    }
        });
        Paste.setNextFocusableComponent(jta);
        Paste.setAccelerator(javax.swing.KeyStroke.getKeyStroke(86, java.awt.event.KeyEvent.CTRL_MASK, false));
        Paste.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
          Paste_actionPerformed(e);
       }
        });
        Exit.setAccelerator(javax.swing.KeyStroke.getKeyStroke(69, java.awt.event.KeyEvent.CTRL_MASK, false));
        Exit.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
          Exit_actionPerformed(e);
      }
        });    Undo.addActionListener(new ActionListener(){
                       public void actionPerformed(ActionEvent ev){
                               edit.undo();
                               updateMenuItem();                   }
               });           Redo.addActionListener(new ActionListener(){
                       public void actionPerformed(ActionEvent ev){
                               edit.redo();
                               updateMenuItem();                   }
               });
       }//end of JTextArea5()   public void undoableEditHappened(UndoableEditEvent ev){
               StringBuffer buf = new StringBuffer(50);
               edit = ev.getEdit();
               buf.append("undoableEdit:");
               buf.append(edit.getPresentationName());
               buf.append("\n");           updateMenuItem();
       }//end of undoableEditHappened()   public void updateMenuItem(){           if (edit != null){
                   Undo.setEnabled(edit.canUndo());
                   Redo.setEnabled(edit.canRedo());
                   Undo.setText(edit.getUndoPresentationName());
                   Redo.setText(edit.getRedoPresentationName());
           }else{
                   Undo.setEnabled(false);
                   Redo.setEnabled(false);
                   Undo.setText("Undo");
                   Redo.setText("Redo");
           }
       }//end of updateMenu()   public void showDE(DocumentEvent de){
               StringBuffer debuf = new StringBuffer(100);
               debuf.append(de.getType());
               debuf.append(" Offset:");
               debuf.append(de.getOffset());
               debuf.append(" Length:");
               debuf.append(de.getLength());           Element Eroot = jta.getDocument().getDefaultRootElement();
               DocumentEvent.ElementChange Echange = de.getChange(Eroot);
               if (Echange == null){
                       debuf.append("  (No Element Change)");
               }else{
                       debuf.append("  Element Change: index ");
                       debuf.append(Echange.getIndex());
       /* debuf.append(" ,Added Length:");
                       debuf.append(Echange.getChildrenAdded().length);
                       debuf.append(" ,Removed Length:");
                       debuf.append(Echange.getChildrenRemoved().length);
                       debuf.append(" ,=> ");
                       debuf.append(Echange.getElement());
       */
               }
               debuf.append("\n");   }//end of showDE()   public void changedUpdate(DocumentEvent de){
               showDE(de);
       }   public void insertUpdate(DocumentEvent de){
           showDE(de);
       }   public void removeUpdate(DocumentEvent de){
               showDE(de);
       }   public static void main(String args[])    {           JFrame f = new textField();
               f.addWindowListener(new WindowAdapter() {
                       public void windowClosing(WindowEvent e) {
                               System.exit(0);
                       }
               });
               f.show();
       }
      private void writeObject(ObjectOutputStream oos) throws IOException {
        oos.defaultWriteObject();
      }
      private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
        ois.defaultReadObject();
      }
      public void menuSelected(MenuEvent e) {
      }
      public void menuDeselected(MenuEvent e) {
      }
      public void menuCanceled(MenuEvent e) {
      }
      void Cut_actionPerformed(ActionEvent e) {
    if (e.getSource() == Cut)
    {
     jta.cut();
    }
      }
      void Copy_actionPerformed(ActionEvent e) {
    if (e.getSource() == Copy)
    {
    jta.copy();
    }
      }
      void Paste_actionPerformed(ActionEvent e) {
      if (e.getSource() == Paste)
      {
       jta.paste();
    }
      }
      void Exit_actionPerformed(ActionEvent e) {
    System.exit(0);
      }
      public JTextArea getJta() {
        return jta;
      }
      public void setJta(JTextArea jta) {
        this.jta = jta;
      }/////////end of main()}//end of class rTeachWindow
      

  2.   

    问题是我按取消按钮总是不能全部推出,留下基层窗口。还有就是输入了student,会同时显示两个窗口,为什么呢?!^_^
    我是新手,大侠们帮帮忙了^_^