初学Java 请问高手 引用类型的变量只用声明一次,比方说你的x_bh吧,在类的属性里声明一次,然后又在init方法里又声明了一个,当然会出错,把方法里的相应声明去掉即可。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //这样就行了import java.applet.*;import java.awt.*;import java.awt.event.*;import java.io.*;public class S3 extends Applet implements ActionListener { Label 编号,姓名,性别,出生,民族,学历,专业,籍贯,x_bh,x_xm,x_xb,x_cs,x_mz,x_xl,x_sm,x_zy,x_jg; TextField banhao,xingming,xingbie,chusheng,minzhu,xueli,zhuanye,jiguan; Button b1; int x=0,y=0,w,h; public void init() { setLayout(new GridLayout(12,1)); 编号=new Label("编号",Label.CENTER);姓名=new Label("姓名",Label.CENTER); 性别=new Label("性别",Label.CENTER);出生=new Label("出生",Label.CENTER); 民族=new Label("民族",Label.CENTER);学历=new Label("学历",Label.CENTER); 专业=new Label("专业",Label.CENTER);籍贯=new Label("籍贯",Label.CENTER); Panel p2=new Panel();p2.setLayout(null);p2.setSize(500,300); banhao=new TextField();xingming=new TextField();xingbie=new TextField(); chusheng=new TextField();minzhu=new TextField();xueli=new TextField(); zhuanye=new TextField();jiguan=new TextField(); p2.add(编号);p2.add(性别);p2.add(民族);p2.add(专业);p2.add(姓名);p2.add(出生); p2.add(学历);p2.add(籍贯); p2.add(banhao);p2.add(xingming);p2.add(xingbie);p2.add(chusheng);p2.add(minzhu); p2.add(xueli);p2.add(zhuanye);p2.add(jiguan); w=p2.getSize().width;h=p2.getSize().height; x=w/10;y=h/14; 编号.setBounds(0,0,x,y);banhao.setBounds(x,0,x,y); 性别.setBounds(4*x,0,x,y);xingbie.setBounds(5*x,0,x,y); 姓名.setBounds(2*x,0,x,y);xingming.setBounds(3*x,0,x,y); 出生.setBounds(6*x,0,x,y);chusheng.setBounds(7*x,0,x,y); 民族.setBounds(0,y,x,y);minzhu.setBounds(x,y,x,y); 学历.setBounds(2*x,y,x,y);xueli.setBounds(3*x,y,x,y); 专业.setBounds(4*x,y,x,y);zhuanye.setBounds(5*x,y,3*x,y); 籍贯.setBounds(0,2*y,x,y);jiguan.setBounds(x,2*y,3*x,y); Panel p3=new Panel(); b1=new Button("ok"); p3.add(b1); b1.addActionListener(this); add(new Label("学生信息调查表",Label.CENTER)); add(p2); add(p3); x_bh=new Label("编号"); add(x_bh); x_xm=new Label("姓名"); add(x_xm); x_xb=new Label("性别"); add(x_xb); x_cs=new Label("出生"); add(x_cs); x_mz=new Label("民族"); add(x_mz); x_xl=new Label("学历"); add(x_xl); x_zy=new Label("专业"); add(x_zy); x_jg=new Label("籍贯"); add(x_jg); } public void actionPerformed(ActionEvent e) { if(e.getSource()==b1) { x_bh.setText(banhao.getText()); x_xm.setText(xingming.getText()); x_xb.setText(xingbie.getText()); x_cs.setText(chusheng.getText()); x_mz.setText(minzhu.getText()); x_xl.setText(xueli.getText()); x_zy.setText(zhuanye.getText()); x_jg.setText(jiguan.getText()); } }} 问题就出在 public void actionPerformed(ActionEvent e){if(e.getSource()==b1){x_bh.setText(banhao.getText());x_xm.setText(xingming.getText());x_xb.setText(xingbie.getText());x_cs.setText(chusheng.getText());x_mz.setText(minzhu.getText());x_xl.setText(xueli.getText());x_zy.setText(zhuanye.getText());x_jg.setText(jiguan.getText());}}这里面,你把他换为System.out.println("you are wrong");看看,当点击按纽时,看看结果会怎样呢?>原因就在于,你的x_bh等不是TextField类型,怎么能用setText(),使之显示呢?应该用public void paint(Graphics g){g.drawString()}来完成功能,具体的上机试试就是1 关于二分查找的问题 JAVA SE中一个简单的小球问题 如何导出Excel表?????????? 急!!!加密时,单引号不被当成一个字符,怎么办??? 先谢过了。 windows下怎么运行一个编译好的*.class文件?? 如何处理布局管理器 在java中能不能获取机器的名字和用户的登录名? 如何实现通过网站发短信 io inAndOut.seek(i*4);这段代码是什么意思 关于JFileChooser只选择文件夹的问题(必结贴) 请问如何让JFrame出现的时候最大化?
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class S3 extends Applet implements ActionListener
{
Label 编号,姓名,性别,出生,民族,学历,专业,籍贯,x_bh,x_xm,x_xb,x_cs,x_mz,x_xl,x_sm,x_zy,x_jg;
TextField banhao,xingming,xingbie,chusheng,minzhu,xueli,zhuanye,jiguan;
Button b1;
int x=0,y=0,w,h;
public void init()
{
setLayout(new GridLayout(12,1));
编号=new Label("编号",Label.CENTER);姓名=new Label("姓名",Label.CENTER);
性别=new Label("性别",Label.CENTER);出生=new Label("出生",Label.CENTER);
民族=new Label("民族",Label.CENTER);学历=new Label("学历",Label.CENTER);
专业=new Label("专业",Label.CENTER);籍贯=new Label("籍贯",Label.CENTER);
Panel p2=new Panel();p2.setLayout(null);p2.setSize(500,300);
banhao=new TextField();xingming=new TextField();xingbie=new TextField();
chusheng=new TextField();minzhu=new TextField();xueli=new TextField();
zhuanye=new TextField();jiguan=new TextField();
p2.add(编号);p2.add(性别);p2.add(民族);p2.add(专业);p2.add(姓名);p2.add(出生);
p2.add(学历);p2.add(籍贯);
p2.add(banhao);p2.add(xingming);p2.add(xingbie);p2.add(chusheng);p2.add(minzhu);
p2.add(xueli);p2.add(zhuanye);p2.add(jiguan);
w=p2.getSize().width;h=p2.getSize().height;
x=w/10;y=h/14;
编号.setBounds(0,0,x,y);banhao.setBounds(x,0,x,y);
性别.setBounds(4*x,0,x,y);xingbie.setBounds(5*x,0,x,y);
姓名.setBounds(2*x,0,x,y);xingming.setBounds(3*x,0,x,y);
出生.setBounds(6*x,0,x,y);chusheng.setBounds(7*x,0,x,y);
民族.setBounds(0,y,x,y);minzhu.setBounds(x,y,x,y);
学历.setBounds(2*x,y,x,y);xueli.setBounds(3*x,y,x,y);
专业.setBounds(4*x,y,x,y);zhuanye.setBounds(5*x,y,3*x,y);
籍贯.setBounds(0,2*y,x,y);jiguan.setBounds(x,2*y,3*x,y);
Panel p3=new Panel();
b1=new Button("ok");
p3.add(b1);
b1.addActionListener(this);
add(new Label("学生信息调查表",Label.CENTER));
add(p2);
add(p3);
x_bh=new Label("编号");
add(x_bh);
x_xm=new Label("姓名");
add(x_xm);
x_xb=new Label("性别");
add(x_xb);
x_cs=new Label("出生");
add(x_cs);
x_mz=new Label("民族");
add(x_mz);
x_xl=new Label("学历");
add(x_xl);
x_zy=new Label("专业");
add(x_zy);
x_jg=new Label("籍贯");
add(x_jg);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
x_bh.setText(banhao.getText());
x_xm.setText(xingming.getText());
x_xb.setText(xingbie.getText());
x_cs.setText(chusheng.getText());
x_mz.setText(minzhu.getText());
x_xl.setText(xueli.getText());
x_zy.setText(zhuanye.getText());
x_jg.setText(jiguan.getText());
}
}
}
public void actionPerformed(ActionEvent e){if(e.getSource()==b1)
{x_bh.setText(banhao.getText());
x_xm.setText(xingming.getText());
x_xb.setText(xingbie.getText());
x_cs.setText(chusheng.getText());
x_mz.setText(minzhu.getText());
x_xl.setText(xueli.getText());
x_zy.setText(zhuanye.getText());
x_jg.setText(jiguan.getText());}}这里面,你把他换为System.out.println("you are wrong");
看看,当点击按纽时,看看结果会怎样呢?>
原因就在于,你的x_bh等不是TextField类型,怎么能用setText(),使之显示呢?
应该用
public void paint(Graphics g)
{
g.drawString()
}
来完成功能,具体的上机试试就是1