У меня возникают проблемы с рисованием массива 2D JButton
до JFrame
. Все JButtons
правильно рисуют, за исключением последнего, последний JButton
, который будет отображаться, устанавливается на JFrame
. Я установил ширину и высоту всех JButtons
до 100x100
, но последние JButton
для визуализации не имеют ширины и высоты 100x100
. Я напечатал свойства консоли, и он сказал, что высота и ширина кнопки были 494X496
.Мои JButtons прослушиваются
Основной класс, который работает все:
package gameData;
import javax.swing.*;
public class GameRun {
JFrame frame;
ActionHandle AH = new ActionHandle();
Screen screen = new Screen();
public GameRun() {
beginSession();
screen.renderScreen(frame, AH);
}
public void beginSession() {
JFrame frame = new JFrame();
frame.setSize(500, 525);;
frame.setResizable(false);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("Game");
this.frame = frame;
}
public static void main(String[] args) {
new GameRun();
}
}
как JButtons
нарисованы:
package gameData;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class Screen {
public void renderScreen(JFrame frame, ActionListener AL){
JButton[][] button = new JButton[5][5];
for(int i =0; i<button.length;i++){
for(int j = 0; j<button[i].length; j++){
button[i][j] = new JButton(i+" "+j);
button[i][j].setBounds(i*100, j*100, 100, 100);
button[i][j].addActionListener(AL);
frame.add(button[i][j]);
}
}
}
}
для учебной цели, почему следует задавать «setResizable» перед установкой размера, если мы все равно установите его на false? –
'setResizable' изменяет рамки оформления границ, меняя количество доступного пространства, доступного для области содержимого, но оно не всегда корректно обновляется. – MadProgrammer
Итак, если, например, я называю 'setUndecorated (true)' right before, то это уже не имеет значения? –