先setLayout(null)
再setBounds()
再setBounds()
解决方案 »
- java File exists函数 为什么我判断文件是否存在的时候,总是返回false,文件在目录下是存在的
- JAVA 批量提交到数据库的问题
- Linux下jdk1.5_03有bug,Socket连接不存在端口,哪怕close了也会导致OutOfMemory?
- String如何按照一个指定的charset解压出一个byte流
- 关于javabean的设计规范
- 我不知道怎么读数组里数,然后再逆序输出!
- excel数据导入导出-----高手进来
- 所有的jvm都是通用的吗?
- 急问java中有关HTML解析器的使用
- applet中定时出现随机的黑点:
- 有没有高手知道J2SE上对红外设备(比如手机)的数据读写方法啊?不使用串口模拟
- 关于打印的问题!
至于GridBagLayout更不好控制!
不要想的过于简单。
import javax.swing.*;
public class Test {
public static void main(String[] args) throws Exception{
JFrame frame = new JFrame();
Container c = frame.getContentPane();
c.setLayout(new BoxLayout(c,BoxLayout.Y_AXIS));
addAButton("Button 1",c);
addAButton("Button 2",c);
addAButton("Button 3",c);
frame.setSize(200,200);
frame.setVisible(true);
}
private static void addAButton(String text,Container container) {
JButton button = new JButton(text);
button.setAlignmentX(Component.CENTER_ALIGNMENT);
container.add(Box.createVerticalGlue());
container.add(button);
container.add(Box.createVerticalGlue());
}
}
信誉值低,如果问题解决,请结贴。
可以用它里面的xy布局~~
会方便很多~~~
package test;import java.awt.*;
import javax.swing.*;public class TestLayout extends JPanel { public TestLayout() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
JFrame f = new JFrame();
f.getContentPane().add(new TestLayout());
f.setSize(120, 450);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
private void jbInit() throws Exception {
this.setLayout(new FlowLayout(FlowLayout.CENTER, 50, 20));
for(int i=0; i<3; ++i){
JButton btn = new JButton();
btn.setBackground(Color.red);
btn.setBorder(null);
btn.setMaximumSize(new Dimension(60, 60));
btn.setMinimumSize(new Dimension(60, 60));
btn.setPreferredSize(new Dimension(60, 60));
this.add(btn);
}
JLabel lab = new JLabel();
lab.setMaximumSize(new Dimension(60, 60));
lab.setMinimumSize(new Dimension(60, 60));
lab.setPreferredSize(new Dimension(60, 60));
this.add(lab); JLabel lab2 = new JLabel("JPanel");
lab2.setFont(new java.awt.Font("Dialog", 0, 28));
lab2.setForeground(Color.red);
this.add(lab2); this.setBackground(Color.cyan);
this.setMinimumSize(new Dimension(120, 450));
}
}
就是点问题,由于采用FlowLayout,所以横向不能再缩小,但纵向还能再缩小