2016-04-25 3 views
0

так что сегодня на мой взгляд это вопрос. Я пытаюсь разработать мелочи, и для этого мне нужно добавить 2 JPanels на экран. Проблема, только одна появляется, в частности, первая инициализирована. Я проверил некоторые другие подобные вопросы на этом сайте, но безрезультатно. Есть какие нибудь идеи как это починить? questionPanel и anotherPanel - это классы, которые расширяют JPanel. Почему оба одновременно не появятся?Неспособность показать несколько JPanels

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
public class Trivia extends JFrame{ 

    questionPanel qp; 
    private JButton q1,q2,q3,q4; 

    public Trivia(){ 
     setSize(600,600); 
     setVisible(true); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     qp = new questionPanel(); 
     add(qp,BorderLayout.SOUTH); 

     anotherPanel ap = new anotherPanel(); 
     add(ap,BorderLayout.NORTH); 


    } 

    public static void main(String args[]){ 
     Trivia t = new Trivia(); 
    } 

} 
+1

Вызов 'SetVisible (истина)' после того, как вы добавили обе панели. Кроме того, вы можете обернуть свой 'Trivia t = new Trivia()' внутри 'EventQueue.invokeLater (новый Runnable() {public void run() {Trivia t = new Trivia()}} ;;'. Если это не поможет, предоставьте [mcve], так как мы также не знаем, какие содержимое/предпочтительные размеры имеют панели. –

+2

'поэтому сегодняшний вопрос на мой взгляд заключается в этом' - и мой вопрос: почему вы никогда не принимаете ответы в своих других вопросах, когда получаете помощь? Думаю, я пропущу этот. – camickr

+0

Я принимаю ответы, если они правы для одного, во-вторых, нет причин быть быстрыми, это должно быть профессиональной средой. Если вам не нравятся мои методы, теряйте время в другом месте, сэр/мадам. –

ответ

3

Вызов setVisible(true); в конце конструктора Пустяков

+0

Это ничего не меняло, все setVisible меняет видимость всего JFrame. –

+1

@ BobbyC.Robillard, 'setVisible()' делает больше этого. Он вызывает диспетчер компоновки, чтобы компоненты могли задавать размер. В противном случае компоненты имеют размер (0, 0), поэтому рисовать нечего. Поэтому при изменении размера кадра работает менеджер компоновки. – camickr

Смежные вопросы