我在GridLayout(3,3)形式的面板中添加了9个按钮 用getX()和getY()方法返回坐标的时候都是0 是不是要用setBounds()方法设置按钮才能返回有效的坐标和大小 高手指点一下
解决方案 »
- 如何使用jquery.treeview.js控件,显示树形菜单???
- 多个java文件的编译问题
- (100分)下载了一个jgap_3.4.3_full.zip 遗传算法的包,但是不知道如何对电脑进行设置
- java读取文本文件里面的内容,存入arraylist
- JAVA JCKECKBOX 事件 g.addItemListener(new JCheckboxListener());
- 问java输出xml问题
- Java的内存泄漏
- 有没有工具可以将xml文件导入到数据库表中的
- 为什么我的jdk设置不好?在线等待!!
- 【 关于分布式WEB应用的6个问题? 请赐教!!! 】
- TOMCAT6.0中关于URL大小写忽略问题
- 请大家帮忙看看是子类还是父类的对象,初学不太懂
换句话说,GridLayout(3,3)将容器再次分割成9个子容器,将按钮添加到子容器中,调用getX()、getY()方法,求出来的是按钮在子容器中的坐标。这个坐标原点是左上角。所以就都是(0,0)了。
这样说,应该清楚了把!至于设置按钮的大小和坐标?要看具体情况。一般有3种方法:
1.可以设置网格与网格之间的间距。
setVgap(int vgap) 垂直间距
setHgap(int hgap) 水平间距
设置边框间距。
Swing界面的写法:设置一个框架JFrame,再在框架中添加面板,面板设置布局管理,面板中还可以添加子面板。按钮等组件则添加在面板中。设置边框间距,可以在框架中设置边界。
2.运用空标签
空标签就是什么也不显示的空白标签,运用它可以让它占用一个网格,这样就达到了排版、间隔的目的。
3.使用面板嵌套的方法
单一布局很难达到理想效果,采用面板嵌套能有效解决这个问题。所以:你采用网格布局,按钮大小设置,只能通过网格的大小来决定。而设置按钮的位置,则通过网格的位置,即添加在第几个网格中。还有什么不懂的吗?