Читаем Java 7 полностью

Листинг 16.2. Рамки с изображениями и разной толщины I

import java.awt.*; import javax.swing.*; import javax.swing.border.*;

public class MatBorders extends JFrame{

MatBorders(){

super(" Рамки с изображениями и разной толщины"); setLayout(new FlowLayout());

JLabel l1 = new JLabel(" MatteBorder(Icon) ");

11. setBorder(new MatteBorder(new ImageIcon("about16.gif")));

JLabel l2 = new JLabel(" MatteBorder(3,6,3,6, Color.red) ");

12. setBorder(BorderFactory.createMatteBorder(3,6,3,6, Color.red));

add(l1); add(l2);

setSize(400, 400);

setDefaultCloseOperation(EXIT ON CLOSE); setVisible(true);

}

public static void main(String[] args){ new MatBorders();

}

}

Рамки с надписями TitledBorder

Класс TitledBorder позволяет создать рамку с надписью. В простейшем случае конструктор TitledBorder(String) или статический метод createTitledBorder(String) класса BorderFactory создает простую рамку толщиной в один пиксел, в которую слева сверху вставлена строка. Это показано на рис. 16.3, сверху.

Надпись можно вставить в рамку любого типа. Для этого используется конструктор

TitledBorder(Border, String);

или статический метод

createTitledBorder(Border, String);

На рис. 16.3 во второй строке надпись вставлена в рамку класса EtchedBorder.

Надпись можно вставить в верхнюю границу рамки, top, написать выше верхней границы, above_top, или ниже верхней границы, below_top. То же самое можно сделать снизу: bottom, above_bottom, below_bottom. Эти константы — параметр pos в конструкторах и методах, описанных далее.

По умолчанию надпись располагается слева, left, но ее можно расположить по центру, center, или справа, right. Эти константы — параметр just в конструкторах и методах, описанных далее.

Все константы, определяющие место надписи, перечислены в листинге 16.5.

Все восемнадцать возможностей реализуются конструктором

TitledBorder(Border, String, int just, int pos);

или статическим методом

createTitledBorder(Border, String, int just, int pos);

Некоторые из этих возможностей показаны на рис. 16.3.

Кроме различного расположения надписи, для нее можно задать шрифт конструктором

TitledBorder(Border, String, int just, int pos, Font);

или статическим методом

createTitledBorder(Border, String, int just, int pos, Font);


Наконец, кроме расположения и шрифта можно определить еще и цвет надписи конструкторомTitledBorder(Border, String, int just, int pos, Font, Color); или статическим методом класса BorderFactorycreateTitledBorder(Border, String, int just, int pos, Font, Color);
Рис. 16.3. Рамки с надписями

Листинг 16.3 содержит программу, создавшую рис. 16.3. В ней приведены все описанные возможности создания рамок с надписями.

Листинг 16.3. Рамки с надписями

import java.awt.*; import javax.swing.*; import javax.swing.border.*;

public class TitBorders extends JFrame{

TitBorders(){

super(" Рамки с надписями"); setLayout(new FlowLayout());

JLabel l1 = new JLabel(" TitledBorder(String) "); l1.setBorder(new TitledBorder("Надпись"));

JLabel l2 = new JLabel(

" TitledBorder(new EtchedBorder(),\"Надпись\") ");

12. setBorder(BorderFactory.createTitledBorder(

BorderFactory.createEtchedBorder(), "Надпись"));

JLabel l3 = new JLabel(

" Расположение CENTER," +

Перейти на страницу:

Все книги серии В подлиннике

Java 7
Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др. Дано подробное изложение последней версии сервлетов, технологии JSP и библиотек тегов JSTL. Около двухсот законченных программ иллюстрируют рассмотренные приемы программирования. Приведена подробная справочная информация о классах и методах Core Java API.

Ильдар Шаукатович Хабибуллин

Программирование, программы, базы данных

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных