Почему не видно JLabel на JFrame? - Java
Формулировка задачи:
Был до этого корявый код и все работало, а сейчас решил красиво переписать и ужас. Не работает.
Класс Сделал фрейм с Но фрейм все равно пустой
class RFrame extends JFrame
public RFrame(String title, int height, int width, Dimension size) {
super(title);
this.height = height;
this.width = width;
bufferRange = height * width;
this.size = size;
LookAndFeel();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
InitCells(); //Все как положено. Сначала создадим лейблы
setLayout(new GridLayout(height, width, 1, 1)); // потом разметку таблицей
setPreferredSize(size);
pack(); //Пак делаем
setVisible(true); // а затем видимость. Все вроде ровно.
}GridLayout
и в этот грид надо поместить JLabel'ы. Код функции InitCells()void InitCells() {
cell = new JLabel[bufferRange];
for (int i = 0; i < cell.length; i++) {
cell[i] = new JLabel();
cell[i].setPreferredSize(new Dimension(1, 1));
// cell[i].setFont(defaultFont); //Фонт моширинный 18пт
cell[i].setForeground(defaultForeground); //Черный
cell[i].setText("D"); //Пример символа
add(cell[i]);
cell[i].setVisible(true);
}
}Решение задачи: «Почему не видно JLabel на JFrame?»
textual
Листинг программы
public int getHeight() {
return height;
}
public int getWidth() {
return width;
}
public Dimension getSize() {
return size;
}