0
問題1:設置一個按鈕的動作偵聽器的大小
我想我的設置按鈕的大小,但似乎並沒有改變,而總是充滿整個屏幕,這是不是有什麼我想要。
問題2:
當我添加了公共無效actionPerformed1(ActionEvent的五)與我的消息,這似乎並沒有顯示出來。也許是因爲按鈕填滿了整個空間,但我真的不知道。
下面是按鈕的代碼:
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);
任何幫助appreciatedasd
1)爲了更好地提供幫助,請發佈[SSCCE](http://sscce.org/)。 2)請使用普通的Java命名法(例如'ypuck' - >'yPuck')3)**不要設置按鈕的大小**而是使用佈局,填充和佈局間距將按鈕放在需要的位置在所需的大小。 4)使用密鑰綁定而不是'KeyListener'。 5)在EDT上創建和更改GUI。 6)'JOptionPane.showMessageDialog(null,「testing」);'應該是'JOptionPane.showMessageDialog(this,「testing」);'7)'JFrame'內容窗格的默認佈局是'BorderLayout',一個組件沒有約束被添加到'CENTER' – 2012-01-16 01:07:26
我同意安德魯發佈的所有內容,並將添加:閱讀[佈局管理器教程](http://docs.oracle.com/javase/tutorial/uiswing/layout/index.html)因爲你的問題是由於對他們的工作缺乏瞭解所致。 – 2012-01-16 01:14:02
另外,如果您有兩個不同的問題,請將它們作爲單獨的問題發佈 – SJuan76 2012-01-16 01:24:55