程序没有运行,但表示流程已完成

时间:2015-05-13 11:29:41

标签: java user-interface panel frame

我正在制作游戏FLAMES的gui版本,我认为代码已经是正确的,因为构建输出表示进程已完成,但它没有显示我的程序。这是我第一次遇到这个问题,有什么建议吗?如果有帮助,我正在使用JDK

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.*;
import java.awt.Event;
import java.awt.Frame;
public class  guiflames{public static void main(String []args){int q=0;
JButton btn1= new JButton("Done");
     btn1.addActionListener( new ActionListener(){
            public void actionPerformed(ActionEvent ae)
            {  

    final JFrame frame1= new JFrame("NAMES");
    final JPanel panel1= new JPanel();
    frame1.setSize(350,350);
    frame1.setVisible(true);
    frame1.setResizable(false);
    frame1.setLocationRelativeTo(null);
    frame1.setDefaultCloseOperation(frame1.EXIT_ON_CLOSE);
    frame1.add(panel1);

    Label name1= new Label("Enter the first name :");
    final TextField txt1= new TextField(30);


    Label name2= new Label("Enter the second name :");
    final TextField txt2= new TextField(30);
    JButton btn1= new JButton("Done");


                panel1.add(name1);
                panel1.setBackground(Color.pink);
                panel1.add(txt1);
                panel1.add(name2);
                panel1.add(txt2);
                panel1.add(btn1);

2 个答案:

答案 0 :(得分:0)

除非您没有正确复制和粘贴代码,否则错误是您在按钮的JFrame中创建了actionListener,该按钮永远不会添加到可见框架中。< / p>

令人讨厌的代码行是:

JButton btn1= new JButton("Done");
btn1.addActionListener( new ActionListener() {
    public void actionPerformed(ActionEvent ae) {

        final JFrame frame1 = new JFrame("NAMES");

您的代码并未指明ActionListener的结束位置,但我猜这不是您真正想要的。

答案 1 :(得分:0)

如果你只想直接显示火焰框架,你可以试试这样的东西(刚刚删除了你在主类中初始化的按钮),

public static void main(String []args){

            final JFrame frame1= new JFrame("NAMES");
            final JPanel panel1= new JPanel();
            frame1.setSize(350,350);
            frame1.setVisible(true);
            frame1.setResizable(false);
            frame1.setLocationRelativeTo(null);
            frame1.setDefaultCloseOperation(frame1.EXIT_ON_CLOSE);
            frame1.add(panel1);

            Label name1= new Label("Enter the first name :");
            final TextField txt1= new TextField(30);


            Label name2= new Label("Enter the second name :");
            final TextField txt2= new TextField(30);
            JButton btn1= new JButton("Done");


                        panel1.add(name1);
                        panel1.setBackground(Color.pink);
                        panel1.add(txt1);
                        panel1.add(name2);
                        panel1.add(txt2);
                        panel1.add(btn1);


        }