java swing网格布局问题 我定义了一个6行10列的网格 想在里面添加60个按钮 代码如下
javaswing网格布局问题我定义了一个6行10列的网格想在里面添加60个按钮代码如下可是不显示按钮...
java swing网格布局问题 我定义了一个6行10列的网格 想在里面添加60个按钮 代码如下 可是不显示按钮
展开
展开全部
你往panel里面加button的函数没有被调用,也就是init函数没有被执行,
你在main函数中new jdttest();只会调用jdttest类的构造函数public jdttest()
不会调用public void init()函数,所以button数组没有加到panel中,自然就没显示.
解决办法 你在构造函数public jdttest()中panel.setLayout(new GridLayout(6,10));后面
调用一下public void init()函数,就行了.
完整的Java程序如下(改动的地方见注释)
import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class jdttest extends JFrame{
JButton button[][]=new JButton[6][10];
JPanel panel=new JPanel();
public jdttest(){
this.setSize(900,630);
this.setLayout(new BorderLayout());
panel.setLayout(new GridLayout(6,10));
panel.setBounds(150, 50, 600,360);
init(); //这里加一句调用init()函数
this.add(panel,BorderLayout.CENTER);
this.setVisible(true);
}
public void init(){
for(int cols=0;cols<6;cols++){
for(int rows=0;rows<10;rows++){
button[cols][rows]=new JButton("7");
panel.add(button[cols][rows]);
}
}
}
public static void main(String[] args) {
new jdttest();
}
}
更多追问追答
追问
谢谢!那假如要添加的是图片按钮怎么办呢?
for (int rows = 0; rows < 10; rows++) {
button[cols][rows] = dl11;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询