十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
class M implements ActionListener
创新互联提供网站制作、网站设计、网页设计,品牌网站设计,广告投放平台等致力于企业网站建设与公司网站制作,10年的网站开发和建站经验,助力企业信息化建设,成功案例突破近千家,是您实现网站建设的好选择.
{
public void actionPerformed(ActionEvent e2)
{
if(e2.getSource()==item1) //调用方法要加括号
{
text.setText(null);
}
}
}
再把这个类放到NotePad 类里面,成为内部类,不然text和item1是哪里来的
per.setName=("zhangsan");
per.setAge=(-30);
没运行,看了一眼,应该是这里错了吧。
应该是这样写,
per.setName("zhangsan");
per.setAge(-30);
public class Student {
private String s_No;
private String s_Name;
private String s_Sex;
private int s_Age;
public Student(String s_No, String s_Name, String s_Sex, int s_Age) {
this.s_No = s_No;
this.s_Name = s_Name;
this.s_Sex = s_Sex;
this.s_Age = s_Age;
}
public void showNo() {
System.out.println("学号:" + this.s_No);
}
public void showName() {
System.out.println("姓名:" + this.s_Name);
}
public void showSex() {
System.out.println("姓别:" + this.s_Sex);
}
public void showAge() {
System.out.println("年龄:" + this.s_Age);
}
public void modifyAge(int age) {
this.s_Age = age;
}
}
import java.util.Scanner;
public class X4_3_2 {
public static void main(String[] args) {
Student s1 = new Student("001", "张三", "男", 12);
Student s2 = new Student("002", "李四", "女", 13);
System.out.println("------------第一个学生的信息------------");
s1.showNo();
s1.showName();
s1.showSex();
s1.showAge();
System.out.println("------------第二个学生的信息------------");
s2.showNo();
s2.showName();
s2.showSex();
s2.showAge();
System.out.println("------------修改第一个学生的年龄------------");
System.out.print("请输入要修改的年龄:");
Scanner scanner = new Scanner(System.in);
int input = scanner.nextInt();
s1.modifyAge(input);
System.out.println("------------第一个学生的信息------------");
s1.showNo();
s1.showName();
s1.showSex();
s1.showAge();
scanner.close();
}
}
下图是运行结果。
运行效果图
解释原因:rrrr的无参数构造方法里调用了init();
init()方法里出现了new rrrr();
new rrrr()又会再次调用init() ,也就是一个没有出口的循环,所以程序无法运行;
解决办法:
listener = new rrrr(); //删除这行代码!!!!!!!!!
w_xbjm.addActionListener(this); //把这里的参数写入this 关键字,代表自身
w_xbjm.setActionCommand("新建");
w_dakd.addActionListener(this);//把这里的参数写入this 关键字,代表自身w_dakd.setActionCommand("打开");
还有一个小问题需要解决下
setLayout(new FlowLayout());//删除这行代码.
因为默认的边界布局BorderLayout就非常适合这个记事本了程序了;设置成FlowLayout反而不能完整显示出文本域
init方法作用:初始化游戏界面
setLayout(null);//设定layout为null,使用setbounds方法的先决条件
addMouseListener(this);//为这个applet 添加鼠标事件监听器
add(b1);//添加按钮b1
b1.setBounds(330, 50, 80, 30);//设定b1位置大小(x,y,width,height)
b1.addActionListener(this);//为这个b1添加监听器,以下类似
add(b2);;
b2.setBounds(330, 90, 80, 30)
b2.addActionListener(this);
ckbHB[0] = new Checkbox("白子先", ckgHB, false);
ckbHB[0].setBounds(320, 20, 60, 30);
ckbHB[1] = new Checkbox("黑子先", ckgHB, false);
ckbHB[1].setBounds(380, 20, 60, 30);
add(ckbHB[0]);
add(ckbHB[1]);
ckbHB[0].addItemListener(this);
ckbHB[1].addItemListener(this);
add(lblWin);
lblWin.setBounds(330, 130, 80, 30);
Game_start_csh();
主要作用就是设定以下整个布局添加一些控件然后开始游戏