import java.awt.*;
import java.awt.event.*;
public class P211_8{
class MyPanel extends Panel implements ActionListener{
TextField text1,text2;
Button button;
MyPanel()
{
Panel1=new Panel();
text1=new TextField(10);
add(text1);
button1=new Button();
add(button1);
button1.addActionListener(this);
Panel2=new Panel();
text2=new TextField(10);
add(text2);
button2=new Button();
add(button2);
button2.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==button1)
button1.setLabel(getText(text1));
if(e.getSource()==button2)
button2.setLabel(getText(text2));
}
}
}
public static void main(String args[])
{
Frame f=new Frame("123");
new MyPanel();
f.setBounds(100,100,300,300);
f.setVisible(true);
f.add(Panel1,BorderLayout.WEST);
f.add(Panel2,BorderLayout.EAST);
f.validate();
}
其实已经很不好意思再提问了,实在是添麻烦给大家了。- -||||MyPanel为Panel的子类,这个例子中编译后出现:Z:\P211_8.java:37: 'class' or 'interface' expected
public static void main(String args[])
^
1 error
不知道怎么改?
[此贴子已经被作者于2007-5-19 14:58:04编辑过]
----------------解决方案--------------------------------------------------------
大扩号没有匹配
----------------解决方案--------------------------------------------------------
哈哈 用Eslipe好点这种情况就很少出现:)
----------------解决方案--------------------------------------------------------
搞不定了:Exception in thread "main" java.lang.NoClassDefFoundError: WindowPanel
at P211_8.main(P211_8.java:7)
----------------解决方案--------------------------------------------------------
是啊
怎么大括号不匹配都能出现问题呢
----------------解决方案--------------------------------------------------------
大括号匹配的啊……
搞不定了:Exception in thread "main" java.lang.NoClassDefFoundError: WindowPanel
at P211_8.main(P211_8.java:7)
你的类名叫MyPanel,不是WindowPanel
----------------解决方案--------------------------------------------------------
你的类名叫MyPanel,不是WindowPanel
没有WindowPanel啊- -
import java.awt.*;
import java.awt.event.*;
public class P211_8{
public static void main(String[] args){
new MyFrame();
// new MyPanel();
}
class MyPanel extends Panel{
private TextField text;
private Button button;
MyPanel(){
text=new TextField(10);
add(text);
button=new Button("请输入");
add(button);
button.addActionListener(new ButtonPress());
validate();
class ButtonPress implements ActionListener{
public void actionPerformed(ActionEvent e){
button.setLabel(text.getText());
}
}
}
}
class MyFrame extends Frame{
private MyPanel Panel1;
private MyPanel Panel2;
MyFrame(){
Panel1=new MyPanel();
Panel2=new MyPanel();
setLayout(new BorderLayout());
add(Panel1,BorderLayout.EAST);
add(Panel2,BorderLayout.WEST);
setVisible(true);
setBounds(100,100,100,100);
validate();
}
}
}
我重新修改了代码,结果出现两个错误:
F:\P211_8.java:7: non-static variable this cannot be referenced from a static context
new MyFrame();
^
F:\P211_8.java:20: cannot find symbol
symbol : class ButtonPress
location: class P211_8.MyPanel
button.addActionListener(new ButtonPress());
^
2 errors
这两个错误不太理解,我觉得我已经写的很清除了亚
达人指点指点
----------------解决方案--------------------------------------------------------
1,非静态变晨不能在静态里面被引用
2,找不到类ButtonPress,在你的程序第20行
----------------解决方案--------------------------------------------------------
嗯,有收获!问题解决了。
谢谢千里斑斑!o(∩_∩)o...
[此贴子已经被作者于2007-5-19 14:59:07编辑过]
----------------解决方案--------------------------------------------------------
要学会看编译器提示的消息,其实编译器提示的很详细的,它连你哪一行错了,都会指出来
----------------解决方案--------------------------------------------------------