JAVA网格布局下Jbutton被图标撑大怎么解决 求大神

packagecn.itsource.puzzle;importjava.awt.Dimension;importjava.awt.GridLayout;importja... package cn.itsource.puzzle;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Menu;
import java.awt.MenuBar;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
public class InitFace extends JFrame{
MenuBar mb = new MenuBar();
Menu m = new Menu("开始游戏");
JButton[] jbtn = new JButton[16];
public InitFace() {
// 构造器
setVisible(true);
setBounds(300, 200, 500, 500);
//setResizable(false);
setMenuBar(mb);
mb.add(m);
setLayout(new GridLayout(4,4,5,5));
DrawBox(jbtn);
}
public void DrawBox(JButton[] jbtn){
for (int i = 0; i < jbtn.length; i++) {
jbtn[i] = new JButton();
//jbtn[i].setIcon(new ImageIcon("img/"+i+".jpg"));
add(jbtn[i]);
}
}
}
上面是源码

注释掉添加Jbutton的语句后正常显示

加上后就成这样 需要拉一下才能解决
展开
 我来答
碧血玉叶花
推荐于2016-07-20 · TA获得超过4976个赞
知道大有可为答主
回答量:6154
采纳率:0%
帮助的人:1729万
展开全部

写的有点乱,这样吧,把JPanel放在JFrame中,布局设为null,不用设置大小。

JPanel pan = new JPanel();
pan.setLayout(null);
JLabel s = new JLabel(i);
s.setBounds(0,0,800,700);
pan.add(s);
JButton tishi1;
tishi1 = new JButton("查询成绩");
tishi1.setBounds(122,55,12,13);
pan.add(tishi1);
frame.setContentPane(pane);
frame.setVisible(true);
追问
我已经找到问题的所在 过早的设置窗体的可见属性 导致控件加载异常 窗体可见属性写在后面就解决了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式