Я пытаюсь изучить некоторые основные реализации GUI в Java.Доступ к объекту, созданному конструктором
У меня есть 2 класса, один из которых содержит конструктор. Этот конструктор создает новый объект JFrame.
У меня возникли проблемы с работой с этим конструктором JFrame - я хочу изменить его размер и другие операции, но не могу понять, как это сделать после вызова конструктора.
Здесь оба класса, BmrCalcMain:
import javax.swing.*;
public class BmrCalcMain {
public static void main(String[] args) {
BmrCalcv2 frame = new BmrCalcv2();
BmrCalcv2.newFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
BmrCalcv2.newFrame.setVisible(true);
BmrCalcv2.newFrame.setSize(650, 475);
BmrCalcv2.newFrame.setResizable(false);
}
}
BmrCalcv2:
package v2;
import javax.swing.*;
import java.awt.FlowLayout;
public class BmrCalcv2 {
private JLabel ageLabel;
private JLabel genderLabel;
private JLabel img1;
static JFrame newFrame;
public BmrCalcv2() {
newFrame = new JFrame("BMR/TDEE Calculator");
newFrame.setLayout(new FlowLayout());
ageLabel = new JLabel("Age:");
genderLabel = new JLabel("Gender:");
img1 = new JLabel(new ImageIcon("filesrc/Bodybuilding-icon.png"));
newFrame.add(ageLabel);
newFrame.add(genderLabel);
newFrame.add(img1);
}
}
При запуске приложения, то JLabels и изображения из BmrCalcv2
класса не появляются. Я считаю, что это связано с тем, что в главном классе использование фрейма неверно (мне нужно как-то использовать newFrame, но если я сменил фрейм на newFrame, он выдает ошибки).
Любые рекомендации приветствуются.
Те же классы, я думаю, что вы вырезали и вставили неправильно. –
Вы отправили 'BmrCalcMain' дважды. –
Почему я получаю -1'd? – user3186023