我将你的程序变了一下,好像可以了
import java.awt.*;
import java.applet.*;
import java.awt.event.*;public class dialog extends Applet
{
DialogFrame frame;
Button button;public void init()
{
frame=new DialogFrame("Dialog Window");
button=new Button("Show Window");
add(button);
}public boolean action(Event evt,Object arg)
{
boolean visible=frame.isShowing();
if (visible)
{
frame.hide();
button.setLabel("Show Window");
}
else
{
frame.show();
button.setLabel("Hide Window");
}
return true;
}
}class DialogFrame extends Frame implements ActionListener,FocusListener
{
MenuBar menuBar;
Dialog dialog;
TextField textField;
String str;
Button button;
MenuItem item;DialogFrame(String title)
{
super(title);menuBar=new MenuBar();
setMenuBar(menuBar);
Menu menu=new Menu("Test");
menuBar.add(menu);
item=new MenuItem("Dialog Box");
menu.add(item);
button=new Button("OK");
item.addActionListener(this);
button.addActionListener(this);str="";
}public void paint(Graphics g)
{
resize(300,300);g.drawString("The Text You Entered is:",70,100);
g.drawString(str,70,130);
}public void actionPerformed(ActionEvent e)
{
   if(e.getActionCommand()=="Dialog Box")
   {
      dialog=new Dialog(this,"Test Dialog");
      textField=new TextField("",20);
      FlowLayout layout=new FlowLayout();
      dialog.setLayout(layout);
      dialog.add(button);
      dialog.add(textField);
      dialog.setSize(200,100);
      dialog.addFocusListener(this);
      dialog.show();
   }
   if(e.getActionCommand()=="OK")
   {
      System.out.println("kkkkk");
      str=textField.getText();
      dialog.hide();
      repaint();
   }
}public void focusGained(FocusEvent e){}
public void focusLost(FocusEvent e){}}不知要不要得