2014-01-25 5 views
0

привет я пытаюсь объявить BoxLayout тем же способом декларирования BorderLayoutконстатирующее BoxLayout так же другого компонента

способ объявить BorderLayout

JPanel textFiled = new JPanel(new BorderLayout()); 
    textFiled.add(enterText,BorderLayout.CENTER); 

, но он не работает с BoxLayout, потому что для одного компонента и ширины и я смотрел некоторые учебник некоторые объявляем метод аа, но я не хочу, чтобы сделать это, так что я пытался поставить его в другой JPanel и ничего не происходит

JPanel t = new JPanel(); 
     t.add(startTime); 
     t.add(endTime); 

     JPanel timing = new JPanel(new BoxLayout(t, BoxLayout.PAGE_AXIS)); 

и что произойдет, если я установил ширину как 50, например, и какие у меня варианты

ответ

3

Вы не можете создать панель и установить BoxLayout в одном выражении (например, для BorderLayout). Вам нужно использовать два оператора, поскольку BoxLayout нуждается в ссылке на панель, которую вы хотите использовать в качестве BoxLayout.

1) Прочтите раздел из учебника Swing по телефону How to Use Box Layout. Он покажет вам, как создать панель с помощью BoxLayout и как добавить компоненты к панели.

2) Или, вы можете проверить класс Box. Это класс удобства, который позволит вам создать контейнер с помощью BoxLayout в одном выражении.

Box timing = new Box(...); 
timing.add(t); 

Ознакомьтесь с оглавлением для учебника, так как в нем содержится много уроков по основным функциям Swing.