Читайте также:
|
|
package BoxLayoutPane.java;import java.awt.*;import javax.swing.*;import javax.swing.border.*; public class BoxLayoutPane extends JPanel { public BoxLayoutPane() { // Используем менеджер компоновки BorderLayout для // размещения различных компонентов Box this.setLayout(new BorderLayout()); // Задаем поля для всей панели, помещая в нее пустую рамку // Это также можно было сделать с использованием getInsets() this.setBorder(new EmptyBorder(10,10,10,10)); // Размещаем вдоль верхнего края панели простой ряд кнопок Box row = Box.createHorizontalBox(); for(int i = 0; i < 4; i++) { JButton b = new JButton("B" + i); b.setFont(new Font("serif", Font.BOLD, 12+i*2)); row.add(b); } this.add(row, BorderLayout.NORTH); // Размещаем столбец кнопок вдоль правого края панели // Используем BoxLayout для другого Swing-контейнера // Создаем рамку вокруг столбца: этого нельзя сделать в классе Box JPanel col = new JPanel(); col.setLayout(new BoxLayout(col, BoxLayout.Y_AXIS)); col.setBorder(new TitledBorder(new EtchedBorder(), "Column")); for(int i = 0; i < 4; i++) { JButton b = new JButton("Button " + i); b.setFont(new Font("sanserif", Font.BOLD, 10+i*2)); col.add(b); } this.add(col, BorderLayout.EAST); // Размещаем столбец в панели // справа // Размещаем прямоугольник с кнопками вдоль нижнего края панели. // Используем "Glue" для равномерного распределения кнопок Box buttonbox = Box.createHorizontalBox(); buttonbox.add(Box.createHorizontalGlue()); // эластичный промежуток buttonbox.add(new JButton("Okay")); buttonbox.add(Box.createHorizontalGlue()); // эластичный промежуток buttonbox.add(new JButton("Cancel")); buttonbox.add(Box.createHorizontalGlue()); // эластичный промежуток buttonbox.add(new JButton("Help")); buttonbox.add(Box.createHorizontalGlue()); // эластичный промежуток this.add(buttonbox, BorderLayout.SOUTH); // Создаем, чтобы отобразить в центре панели JTextArea textarea = new JTextArea(); textarea.setText("This component has 12-pixel margins on left and top"+ " and has 72-pixel margins on right and bottom."); textarea.setLineWrap(true); textarea.setWrapStyleWord(true); // Используем Box, чтобы окружить JTextArea нестандартными // полями. 1 столбец из 3-х элементов. 1 и последний с жесткими // промежутками. Средний элемент – текстовая область. Box fixedcol = Box.createVerticalBox(); fixedcol.add(Box.createVerticalStrut(12)); // 12 жестких пикселов fixedcol.add(textarea); // Компонент заполняет остальное fixedcol.add(Box.createVerticalStrut(72)); // 72 жестких пиксела // Создаем строку. Помещаем распорки слева и справа, // а созданный выше столбец размещаем посередине. Box fixedrow = Box.createHorizontalBox(); fixedrow.add(Box.createHorizontalStrut(12)); fixedrow.add(fixedcol); fixedrow.add(Box.createHorizontalStrut(72)); // Теперь размещаем в панель JTextArea, заключенную в столбец и строку this.add(fixedrow, BorderLayout.CENTER); }}
Дата добавления: 2015-09-11; просмотров: 89 | Поможем написать вашу работу | Нарушение авторских прав |