Кнопки движутся вместе с JPanel - PullRequest
0 голосов
/ 29 марта 2019

Так что у меня действительно неприятная проблема с моим кодом.В моем основном классе я вызываю метод в другом классе, который должен показать мне вопрос и 4 возможных ответа.Эти разные вопросы не имеют одинаковую длину.Проблема в том, что если вопрос становится длиннее, чем предыдущий, кнопки отодвигаются друг от друга, и я ничего не изменяю в коде.Поэтому я начал искать некоторые решения и нашел что-то.Я поставил вопрос на панели, отличной от кнопок.

Панель 1:

public JPanel getPanel(){
    code
}

Панель 2:

public JPanel getPanel1(){
   code
}

Тогда в моем основном янаписал следующее:

private void initializeAnswer(String jsonFileName, int questionNumber) {

   JPanel panel = new Answer(json.getCorrectAnswer(questionNumber, 
   jsonFileName)).getPanel();
   JPanel panel1 = new Answer(json.getCorrectAnswer(questionNumber, 
   jsonFileName)).getPanel1();
   frame.setContentPane(panel);
   frame.setContentPane(panel1);

}

Ну, я думал, что это будет отображать обе панели на раме одновременно, но я был не прав.Я даже изменил цвет фона панели1 на Прозрачный со следующим кодом, но он не работал:

panel1.setBackground(new Color(0.0f, 0.0f, 0.0f, 0.5f));

1 Ответ

1 голос
/ 29 марта 2019

Вы можете использовать Root-JPanel.

JPanel root = new JPanel();
root.add(panel1);
root.add(panel2);
frame.setContentPane(root);

Дополнительное использование макета ...

Учебное пособие по оракулу

...