JAVA,在button遇到的小问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 09:06:28
import java.awt.*;
import javax.swing.*;

public class GridLayoutPosition extends JFrame{

public GridLayoutPosition(){
Container c=getContentPane();
setLayout(new GridLayout(7,3,5,5));
for(int i=0;i<20;i++){
c.add(new JButton("button"+i));
}
setSize(300,300);
setTitle("网格");
setVisible(true);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

}
public static void main(String[] args) {
new GridLayoutPosition();

}

}

这段代码,如果我把循环语句里面的c.add(new JButton("button"+i),改成c.add(new JButton(i)),按钮上面只要数字,但是它提示错误
“构造函数 JButton(int)未定义”
那么如果我要按钮上面只要数字的话我该怎么写呢·?

JButton和Button的构造函数 都需要一个String类型的变量 而不是int类型的变量

一个int类型的变量转成String类型的方法有许多种 这里给你一个最简单的 最常用的 就是加一个空字符串 也就是 JButton(""+i) 这里的空字符串加后面加前面都是一样的 不影响结果 其作用不过是把i这个int类型的数据转换成String而已

这样改咯 c.add(new JButton(""+i));

要是封装类
new Integer(值);就可以了

类型转换嘛
c.add(new JButton(String.valueOf(i));