java swing 在JPanel里添加多个JButton为什么只显示一个

packagetest;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JPan... package test;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import com.btkj.utils.ImageTool;
public class test222 extends JFrame{
public test222() {
this.setSize(400,400);
this.setVisible(true);
JPanel jp = new JPanel();
jp.setSize(400,400);
jp.setLayout(null);
JButton gps = new JButton();
gps.setIcon(ImageTool.getIcon("gps.png"));
gps.setBounds(10, 20, 92, 92);
JButton hk = new JButton();
hk.setIcon(ImageTool.getIcon("hk.png"));
gps.setBounds(10, 50, 92, 92);
JButton dh = new JButton();
dh.setIcon(ImageTool.getIcon("dh.png"));
gps.setBounds(10, 20, 92, 92);
jp.add(gps);
jp.add(hk);
jp.add(dh);
this.setContentPane(jp);
}

public static void main(String[] args) {
new test222();
}
}
展开
 我来答
糖酥棍儿
推荐于2016-08-02 · TA获得超过692个赞
知道小有建树答主
回答量:393
采纳率:0%
帮助的人:387万
展开全部
1、检查下你设置的JPanel的布局方式,该种布局方式是否适合放置多个按钮
2、检查下你设置的按钮是否都是设置为可见状态,只有可见状态才能展示出来
3、JPanel的宽带和高度是否合适,因为添加多个的时候,有可能会导致按钮重叠。
yugi111
推荐于2016-01-01 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
提问者设置的对象总是同一个,所以只显示一个

JButton hk = new JButton ();
hk.setBounds (112, 20, 92, 92);
追问
我每个 JButton都是新new出来的
追答
  1. JButton gps = new JButton();
           gps.setIcon(ImageTool.getIcon("gps.png"));
           gps.setBounds(10, 20, 92, 92);

  2. JButton     hk = new JButton();
           hk.setIcon(ImageTool.getIcon("hk.png"));

  3. JButton     dh = new JButton();
           dh.setIcon(ImageTool.getIcon("dh.png"));
           gps.setBounds(10, 20, 92, 92);


上面就是3个,你看看setBounds前面的调用者是什么???



    

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-04-08
展开全部
昨天开发了一个简单的表达式计算器,居然发现原来SQLITE是没有求根函数求幂函数和三角 函数的,于是昨晚就躺在床上构思了如何解析表达式计算自定义函数的算法。想下想下,却 不想实现了,因为太辛苦了,还是不理了,放松放弃,想下靓女许蓉蓉,然后让大脑内存释 放,free(大脑内存指针),relax,休闲养生好过了。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
longlongzhuerr
2014-04-08 · TA获得超过322个赞
知道小有建树答主
回答量:243
采纳率:100%
帮助的人:228万
展开全部
你没有设置布局。你要对你的JPanel设置下布局
更多追问追答
追问
jp.setLayout(null);
设置成null了 就是想自己定位的啊
追答
jp.setLayout(new BorderLayout());


添加的时候就要设置位置,东南西北

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式