import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ButtonTest1 extends JFrame{
private JButton aB,bB,exitButton;

private JLabel mz,fs;

private JTextField mz1,fs1;

public ButtonTest1(){
super("testing buttons");
Container container=getContentPane();
container.setLayout(new FlowLayout());

aB=new JButton("输入学生姓名和分数");
container.add(aB);

//ButtonHandler handler=new ButtonHandler();
bB=new JButton("退出");
container.add(bB);

ButtonHandler handler=new ButtonHandler();

aB.addActionListener(handler);
bB.addActionListener(handler);

setSize(800,256);
setVisible(true);
}

public static void main(String args[]){
ButtonTest1 application=new ButtonTest1();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}


void TimeTestWindow(){
JFrame frame=new JFrame("名字和分数的输入");
Container container=frame.getContentPane();
container.setLayout(new FlowLayout());

mz=new JLabel("名字:");
mz1=new JTextField(10);
container.add(mz);
container.add(mz1);

fs=new JLabel("分数:");
fs1=new JTextField(10);
container.add(fs);
container.add(fs1);
exitButton=new JButton("exit");
container.add(exitButton);

setSize(800,256);
    setVisible(true);
    
   
    

}
private class ButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
if(event.getSource()==bB)
System.exit(0);
else TimeTestWindow();//就是这里了。
    //JOptionPane.showMessageDialog(ButtonTest1.this,"you pressed:"+event.getActionCommand());
}
}
}

解决方案 »

  1.   

    void TimeTestWindow(){
    JFrame frame=new JFrame("名字和分数的输入");
    Container container=frame.getContentPane();
    container.setLayout(new FlowLayout());

    mz=new JLabel("名字:");
    mz1=new JTextField(10);
    container.add(mz);
    container.add(mz1);

    fs=new JLabel("分数:");
    fs1=new JTextField(10);
    container.add(fs);
    container.add(fs1);
    exitButton=new JButton("exit");
    container.add(exitButton);

    frame.setSize(800,256);   //修改处
             frame.setVisible(true);   //修改处
      }
      

  2.   

    因为你要显示的是新建的JFrame frame=new JFrame("名字和分数的输入");这个窗口
    不加frame的话
    setSize(800,256);相当于this.setSize(800,256);
    setVisible(true);相当于this.setVisible(true);
    操作的对象是ButtonTest1窗口