【发布时间】:2012-01-16 01:01:41
【问题描述】:
问题一:
我正在尝试设置按钮的大小,但似乎没有改变,而是总是填满整个屏幕,这不是我想要的。
问题 2:
当我在消息中添加 public void actionPerformed1(ActionEvent e) 时,它似乎没有出现。也许是因为按钮填满了整个空间,但我真的不知道。
这是按钮的代码:
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
public class HockeyGame extends JFrame implements
ActionListener, KeyListener, Runnable, WindowListener //, ActionListener
{
Thread t;
int xpuck, ypuck,xspeed,yspeed,gx,gy,redx2,redy2,lg,rg, redscore, bluescore,
redx,redy, gx2, gy2, bluex, bluey,bluex2,bluey2,rg2,lg2;
//int SQUARE_SIZE=10;
public HockeyGame ( ) {
}
public static void main ( String [ ] commandLine ) {
HockeyGame hg=new HockeyGame();
hg.init();
}
public void actionPerformed1(ActionEvent e) {
JOptionPane.showMessageDialog(null,"testing");
}
public void init() {
Button b;
b = new Button("Click me");
b.addActionListener(this);
b.setSize(40, 40);
add(b);
t=new Thread(this);
this.addKeyListener(this);
this.setFocusable(true);
setSize(700,700);
setVisible ( true );
任何帮助表示赞赏asd
【问题讨论】:
-
1) 为了尽快获得更好的帮助,请发帖 SSCCE。 2) 请使用常见的 Java 命名法 (即
ypuck->yPuck) 3) 不要设置按钮的大小。 而是使用布局、填充和布局间距将按钮放置在需要它的大小。 4) 使用键绑定而不是KeyListener。 5) 在 EDT 上创建和更改 GUI。 6)JOptionPane.showMessageDialog(null,"testing");应该是JOptionPane.showMessageDialog(this,"testing");7)JFrame内容窗格的默认布局是BorderLayout,在CENTER中添加一个没有约束的组件 -
我同意 Andrew 发布的所有内容并将补充:阅读layout manager tutorials,因为您的问题是由于对它们的工作原理缺乏了解。
-
另外,如果您有两个不同的问题,请将它们作为单独的问题发布
标签: java swing button size setting