Руководство Java SWT Label
1. SWT Label
SWT Label является компонентом интерфейса (UI Component), он может отображать текст, изображение. Но не может отображать оба. Чтобы отобразить текст и изображение одновременно, вы можете использовать CLabel, подкласс Label.
2. Пример Label
Это простой пример , показывающий содержание текста с Label, класс Label также иногда используется для создания разделителя (Separator) по горизонтали или вертикали.
LabelDemo.java
package org.o7planning.swt.label;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
public class LabelDemo {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
RowLayout layout = new RowLayout();
layout.spacing = 20;
shell.setLayout(layout);
// Create a Label with Text
Label label1 = new Label(shell, SWT.NONE);
label1.setText("My Label");
// Create a Label is Horizontal Separator
Label hSeparator = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
// Create a Label is Vertical Separator
Label vSeparator = new Label(shell, SWT.SEPARATOR | SWT.VERTICAL);
shell.setText("SWT Label Demo");
shell.setSize(450, 250);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
3. Label с Icon
Обратите внимание, что класс Label может отображать текст или Icon, если вы хотите отобразить текст и Icon,вам следует использовать класс CLabel.
MyImageUtils.java
package org.o7planning.swt.utils;
import java.io.IOException;
import java.io.InputStream;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
public class MyImageUtils {
// resourcePath: "/org/o7planning/swt/icon/java-32.png"
public static Image getImage(Display display, String resourcePath) {
InputStream input = null;
try {
// /org/o7planning/swt/icon/java-32.png
input = MyImageUtils.class.getResourceAsStream(resourcePath);
Image image = new Image(display, input);
return image;
} finally {
closeQuietly(input);
}
}
private static void closeQuietly(InputStream is) {
try {
if (is != null) {
is.close();
}
} catch (IOException e) {
}
}
}
Смотреть полный пример:
LabelIconDemo.java
package org.o7planning.swt.label;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CLabel;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.o7planning.swt.utils.MyImageUtils;
public class LabelIconDemo {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
RowLayout layout = new RowLayout();
layout.spacing = 20;
shell.setLayout(layout);
Image image = MyImageUtils.getImage(display, "/org/o7planning/swt/icon/java-48.png");
Image image2 = MyImageUtils.getImage(display, "/org/o7planning/swt/icon/java-32.png");
// Create a Label with Text
Label label1 = new Label(shell, SWT.NONE);
label1.setText("Label with Text");
// Create a Label with Icon
Label label2 = new Label(shell, SWT.NONE);
label2.setImage(image2);
// Create a CLabel with Text & Icon
CLabel cLabel = new CLabel(shell, SWT.NONE);
cLabel.setImage(image);
cLabel.setText("SWT CLabel");
shell.setText("SWT Label Demo (o7planning.org)");
shell.setSize(450, 250);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
4. Label с Font и Color
Вы можете просмотреть дополнительную информацию SWT Font & Color здесь
- swt font and color
Font
Вы можете установить Font (Включая название и размер Font) для Label через метод setFont.
// Tạo một đối tượng Font mới
Font font = new Font(display, "Cambria", 22, SWT.ITALIC);
label.setFont(font);
Color
Использовать метод setForeground чтобы установить цвет шрифта для Label.
Color color = new Color(display, 0, 114, 135);
// Set fore color
label.setForeground(color);
Смотреть полный пример:
LabelFullDemo.java
package org.o7planning.swt.label;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
public class LabelFontColorDemo {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
RowLayout layout = new RowLayout();
layout.spacing = 20;
shell.setLayout(layout);
// ------ Label -----
Label label = new Label(shell, SWT.NONE);
label.setText("Label With Font and Color");
label.setFont(new Font(display, "Cambria", 22, SWT.ITALIC));
Color color = new Color(display, 0, 114, 135);
// Set fore color
label.setForeground(color);
shell.setText("SWT Label Demo (o7planning.org)");
shell.setSize(450, 250);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
Руководства Java SWT
- Руководство Java SWT FillLayout
- Руководство Java SWT RowLayout
- Руководство Java SWT SashForm
- Руководство Java SWT Label
- Руководство Java SWT Button
- Руководство Java SWT Toggle Button
- Руководство Java SWT Radio Button
- Руководство Java SWT Text
- Руководство Java SWT Password Field
- Руководство Java SWT Link
- Программирование приложения Java Desktop с использованием SWT
- Руководство Java SWT Combo
- Руководство Java SWT Spinner
- Руководство Java SWT Slider
- Руководство Java SWT Scale
- Руководство Java SWT ProgressBar
- Руководство Java SWT TabFolder и CTabFolder
- Руководство Java SWT List
Show More