Задача 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) Создавайте и изменяйте GUI на EDT. 6) 'JOptionPane.showMessageDialog (null," testing ");' должен быть 'JOptionPane.showMessageDialog (это,« тестирование »);' 7). Разметка по умолчанию панели содержимого JFrame - это «BorderLayout», компонент с никакое ограничение не добавляется в 'CENTER' –
Я согласен со всем, что написал Андрей и добавит: прочитайте учебники по макету менеджера (http://docs.oracle.com/javase/tutorial/uiswing/layout/index.html) потому что ваши проблемы связаны с отсутствием понимания того, как они работают. –
Кроме того, если у вас есть две разные проблемы, разместите их как отдельные вопросы – SJuan76