Java设置按钮大小

来源:百度知道 编辑:UC知道 时间:2024/06/21 23:08:18
public class MouseFrame extends JFrame{

public MouseFrame(){
setTitle("mouse tect");
setSize(SIDE_L,SIDE_W);
JButton btn=new JButton("Quit");
btn.setBounds(380, 370, 10, 20);
add(btn);
btn.addMouseListener(new btnListener());

}
private static final int SIDE_L=400;
private static final int SIDE_W=400;

private class btnListener extends MouseAdapter{
public void mouseClicked(MouseEvent e){
System.exit(0);
}
}
MAIN中创建MouseFrame对象,可以显示窗口,但按钮占了整个窗口,用setSize也不能改变,不知道哪出了问题,请大虾们帮帮忙!谢谢诶!
能给说说原理么,有点不太明白,设置组件布局之后发生了什么变化呢?
试了一下,按钮倒是小了但不在位置上,btn.setBounds(380, 370, 10, 20); 没起作用
各位帮忙解决下。谢谢诶!

要使用 组件的 .setBounds(380, 370, 10, 20); 方法,其容器的布局必须是null,则
setLayout(null);

JButton btn=new JButton("Quit");
setLayout(new FlowLayout(null));//加这句 设置组件无布局
btn.setBounds(380, 370, 10, 20);
add(btn);
前两个参数是设置按钮位置的
后两个设置大小

要给 MouseFrame 设置组件布局
在构造函数里面加一个

setLayout(new FlowLayout());

就行了

可以用的 layout 很多
你可以看看 FlowLayout, GridLayout 等等的用法

你把SIDE_L和SIDE_W的定义放在构造方法之前也许行