2 sjj 1999 sjj_1999 于 2015.07.18 09:40 提问

java Button setsize无效原因?

import javax.swing.*;

import java.awt.Color;
import java.awt.event.*;

public class OODemo implements ActionListener{
JButton button;
public static void main(String args[]){
OODemo demo=new OODemo();
demo.go();
}
public void go(){
JFrame frame=new JFrame();
button=new JButton("trust me");

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//会在windows关闭是结束程序   
    frame.getContentPane().add(button);
    frame.setSize(300,500);
    frame.setVisible(true);
    button.setSize(20, 300);//**实际运行这里怎么改参数button大小都不改变**
    button.setBackground(Color.blue);
    button.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub
    button.setText("I've been clicked!");
}

}

4个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.07.18 17:35
已采纳
 因为布局管理器的原因,默认是BorderLayout,撑满全屏的。
 增加frame.setLayout(null);
danielinbiti
danielinbiti 回复sjj_1999: 是指ActionListener,这里也就是OODemo,点击了button的标题就变I've been clicked
2 年多之前 回复
sjj_1999
sjj_1999 请问 button.addActionListener(this);里面这个this具体是指什么??感觉应该是OODemo这个类但是最后点只有按钮有效果,点这个类无效??
2 年多之前 回复
sjj_1999
sjj_1999 请问 button.addActionListener(this);里面这个this具体是指什么??感觉应该是OODemo这个类但是最后点只有按钮有效果,点这个类无效??
2 年多之前 回复
guwei4037
guwei4037   Ds   Rxr 2015.07.18 10:14

button.setPreferredSize(new Dimension(100, 100));

这个试试。

CSDNXIAOD
CSDNXIAOD   2015.07.18 09:43

IE下Button背景图片无效的问题
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

tongyi55555
tongyi55555   2015.07.18 12:19

setPreferredSize可以解决这个问题,如果超过了该大小最好设置最小和最大的size.

Csdn user default icon
上传中...
上传图片
插入图片