读书人

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

发布时间: 2012-01-03 22:16:06 作者: rapoo

菜鸟在学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); 

读书人网 >J2SE开发

热点推荐