2016-10-17 7 views
1

Выполнение следующего кода открывает только пустое окно без каких-либо кнопок и подпанелей. Может ли кто-нибудь мне помочь?Добавить метод с использованием панелей в качестве подконтейнеров

public class TestPanels extends JFrame{ 
    public TestPanels(){ 
     //Create first panel 
     JPanel panel1= new JPanel(); 
     panel1.setLayout(new GridLayout(4, 3)); 

    for(int i=1; i<=9; i++){ 
      panel1.add(new JButton(""+i)); 
      } 

     // Create Second panel 
     JPanel panel2=new JPanel(new BorderLayout());  
     panel2.add(new JTextField("Time to Display Here"), BorderLayout.NORTH); 
     panel2.add(panel1, BorderLayout.CENTER); 

    } 

    public static void main(String[] args){ 
     TestPanels test= new TestPanels(); 

     test.setTitle("Test Panel"); 

    } 
} 
+1

Вы не добавляете панели в рамку. Кроме того, я не думаю, что этот код отобразит что-нибудь, рамка даже не станет видимой. – Berger

+0

@Berger * «Я не думаю, что этот код отобразит что-нибудь, рамка даже не станет видимой». * Хорошая точка: для лучшей помощи раньше, отправьте сообщение [MCVE] или [Short, Self Contained, Correct Example ] (http://www.sscce.org/) * актуального * кода, который показывает проблему, а не какой-то бессмысленный код, претендующий на роль примера. –

ответ

1

Настоящая проблема заключается в следующем: изучение Swing «отличается» от ваших первых шагов с Java.

Что я имею в виду: для того, чтобы получить JFrame на экране, необходимо вызвать определенные методы. И затем, чтобы получить «что-то» в этом JFrame, должно произойти больше вещей.

Смысл: обучение Swing UI «проб и ошибок» не будет работать. В отличие от вещей, которые вы, возможно, изучали ранее, лучше начать с учебников, например, one от Oracle и следовать этому. И только тогда, когда все действительно работает, вы изучаете их с помощью собственного кода!

Таким образом, мой ответ не содержит многострочных строк кода, которые вам нужно получить к вашему результату, но рекомендуется искать ресурсы, которые объясняют эти вещи более подробно! Потому что то, что вы хотите сделать впоследствии, может снова работать только тогда, когда вы должны тщательно изучить до в «режиме действия».