黑马程序员技术交流社区

标题: GUI小问题求助 [打印本页]

作者: 莫运飞    时间: 2012-4-2 11:24
标题: GUI小问题求助
下面这个程序编译不了。原来我是自己写的,爆一片的错误,再之后还是不行,就找着毕老师的来了一段,结果还是不可以,不在的什么原因。(我用的是txt写的)。(求解决)以下是问题程序:

import java.awt.*;
import java.awt.event.*;

class Frame
{
       
        private Frame f;
        private Button b;

        Frame()

{

init();
}

        public void init()

{
        f=new Frame("我的软件");

        f.setBounds(200,300,200,500);
        f.setLayout(new FlowLayout());

        b=new Button("我的按钮");

        f.add(b);
        f.setVisible(true);



}

private void myEvent()
{


        f.addWindowListener(new WindowAdapter()

{
                public void  windowClosing(WindowEvent e)

{
                System.exit(0);

}
});

        b.addActionListener(new ActionListener()
s
{
        public void actionPerformed(ActionEvent e)
{
        System.out.println("什么都没有");
        System.exit(0);

}
});




}

public static void main(String[] args)
{

new Frame();


}



}












作者: 莫运飞    时间: 2012-4-2 11:27
我整理得蛮好了的,怎么发上来就成这样了,奇怪
作者: 刘士    时间: 2012-4-2 11:34
这个代码没写完吧。贴出全部代码吧。
作者: 莫运飞    时间: 2012-4-2 13:33
类名改了,还是爆出的问题。代码是全的,是毕老师写的代码,但我自己改了下,就出现了这样的问题,回复者可以运行下代码吗?求解啊
作者: 欧阳才志    时间: 2012-4-2 13:41
本帖最后由 欧阳才志 于 2012-4-2 13:48 编辑

我也初学哈,现在我逐句帮你分析一下哈
import java.awt.*;
import java.awt.event.*;
//引包
class Frame
{
        
        private Frame f;
        private Button b;

        Frame()
   //定义类  包括两个变量。
{

init();
}

        public void init()

{    //定义一个方法
        f=new Frame("我的软件");
      
        f.setBounds(200,300,200,500);
        f.setLayout(new FlowLayout());

        b=new Button("我的按钮");

        f.add(b);
        f.setVisible(true);//显示按钮



}

private void myEvent()
{

        //定义私有方法
        f.addWindowListener(new WindowAdapter()

{
                public void  windowClosing(WindowEvent e)

{
                System.exit(0);

}
});//}后边跟个)??

        b.addActionListener(new ActionListener()
s  //这是什么意思??漂个字符来?
{
        public void actionPerformed(ActionEvent e)
{
        System.out.println("什么都没有");
        System.exit(0);

}
});//}后边跟个)??





}

public static void main(String[] args)
{

new Frame();


}



}

从表象看,我觉得楼主抄程序的时候都没有仔细抄,再比照一下原代码吧。你可能抄错了。

作者: 莫运飞    时间: 2012-4-2 14:47
问题我搞定了,花了我蛮久的时间,楼上的说得对 就是那个 多出来的S(这里我用大写了,小写不明显)。还有就是在init();里面没有调用myEvent();事件,运行后关闭按钮也同样不起作用的。说明下
“}
});//}后边跟个)??”   这样是没有问题的哦 后面的括号是“b.addActionListener( ”中的反括号。
作者: yangshang1    时间: 2012-4-2 20:24
import java.awt.*;
import java.awt.event.*;

public class Frame1
{
         
        private Frame f;
         private Button b;

        Frame1()

                        {
                         
                        init();
                         }

        public void init()

{
         f=new Frame("我的软件");

        f.setBounds(200,300,200,500);
         f.setLayout(new FlowLayout());
         f.addWindowListener(new WindowAdapter()
         
         {
                          public void  windowClosing(WindowEvent e)
         
         {
                          System.exit(0);
         
         }
          });
        b=new Button("我的按钮");
        b.addActionListener(new ActionListener()
        
{
         public void actionPerformed(ActionEvent e)
{
         System.out.println("什么都没有");
         System.exit(0);

}
});

        f.add(b);
         f.setVisible(true);



}



public static void main(String[] args)
{

new Frame1();


}



}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2