2015-05-14 2 views
-1

Я новичок в компонентах Swing GUI. Я должен разработать компонент, как показано ниже.Swing GUI design

enter image description here

Я не знал, какие именно компоненты графического интерфейса я должен использовать для этого. Я ищу подходящий компонент, такой как «Мастер & Подробнее» панели на изображении.

Панель должна получить границу и получить заголовок раздела. В разделе заголовка я хочу поместить имя панели слева, как показано на картинке & Я хочу поместить некоторые метки в правом углу на этом заголовке. Пожалуйста, предложите мне подходящий компонент.

+0

Я не совсем понимаю, что представляют собой две верхние компоненты (мастер/деталь). Являются ли они (записи в) списками? Нижним будет «JSlider». Для макета, вероятно, «BorderLayout». –

+0

* «Панель должна получить границу и получить раздел заголовка» * **, что ** вы подразумеваете под символами 'Master' /' Detail' ...? Я очень смущен. Если это так, возможно, «TitledBorder» вокруг стандартного «JPanel» создаст нечто вроде этого. См. Также [Визуальное руководство для компонентов Swing] (http://da2i.univ-lille1.fr/doc/tutorial-java/ui/features/components.html) для идей. –

ответ

1

Что-то вроде этого:

JPanel demoPanel = new JPanel(new BorderLayout(10,10)); 
demoPanel.add(new JLabel("Demo"), BorderLayout.PAGE_START); 
JPanel master = new JPanel(new BorderLayout()); 
master.setBorder(new EtchedBorder(EtchedBorder.LOWERED)); 
master.add(new JLabel("Master"), BorderLayout.PAGE_START); 

JPanel detail = new JPanel(); 
detail.add(new JLabel("Detail"), BorderLayout.PAGE_START); 
detail.setBorder(new EtchedBorder(EtchedBorder.LOWERED)); 

JPanel alpha = new JPanel(new BorderLayout()); 
alpha.add(new JLabel("Alpha (translucency)"), BorderLayout.PAGE_START); 
JSlider slider = new JSlider(JSlider.HORIZONTAL); 
slider.setMaximum(100); 
slider.setMinimum(0); 
slider.setMajorTickSpacing(10); 
alpha.add(slider, BorderLayout.CENTER); 

demoPanel.add(master, BorderLayout.LINE_START); 
demoPanel.add(detail, BorderLayout.CENTER); 
demoPanel.add(alpha, BorderLayout.PAGE_END); 

Он не имеет точный дизайн пользовательского интерфейса (с цветами и расстоянием между компонентом) как скриншот, но это дает вам основную раскладку и должно получить вы начали