首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

初学者在学GUI 请教小弟我的程序错哪了

2012-01-03 
菜鸟在学GUI请问我的程序哪里错了Its an exercise from thinking java.pls tell me whats wrong with the

菜鸟在学GUI 请问我的程序哪里错了
Its an exercise from thinking java. 
pls tell me whats wrong with the code as follow.
If someone could help me fix it, i will be really appreciated it.
thx.

Java code
import javax.swing.*;import java.awt.*;import static net.mindview.util.SwingConsole.*;public class Button1 extends JFrame{    /**     * @param args     */    private JButton b1 = new JButton("Button 1"),                    b2 = new JButton("Button 2");    public Button1(){        setLayout(new FlowLayout());        add(b1);        add(b2);    }    public static void main(String[] args) {        // TODO Auto-generated method stub        run(new Button1(),400,600);            }}



Java code
import javax.swing.*;import java.awt.*;import java.awt.event.*;import net.mindview.util.SwingConsole;public class ex05 extends JFrame {    /**     * @param args     */    private JButton b1 = new JButton("Button 1"),                    b2 = new JButton("Button 2"),                    b3 = new JButton("Button 3");    private JTextField txt = new JTextField(10);    private ActionListener bl = new ActionListener(){        public void actionPerformed(ActionEvent e){            String name = ((JButton)e.getSource()).getText();            txt.setText(name);        }    };    public ex05(){        b1.addActionListener(bl);        b2.addActionListener(bl);        b3.addActionListener(bl);        setLayout(new FlowLayout());        add(b1);        add(b2);        add(b3);    }    public static void main(String[] args) {        // TODO Auto-generated method stub        run(new ex05(), 400, 200);    }}


/* output 

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
The method run(ex05, int, int) is undefined for the type ex05

at ex05.main(ex05.java:31)[that is {run(new ex05(), 400, 200);}]


thx guys!

[解决办法]
很简单啊,你声明run方法的时候写的形式参数第一个是JFrame类,但是传参的时候实际参数是ex05类的,虽然它是JFrame的子类,但是肯定类型不匹配,你可以这样
Java code
JFrame jf=new ex05();run(jf,400, 200); 

热点排行