JLabel
表示标签,即用于不可编辑的文本的显示区域。
JLabel
可以显示文本和图像。它甚至可以渲染HTML标签,以便您可以创建一个显示多色或多行文本的 JLabel
。
JLabel
可以显示文本和图像。它甚至可以渲染HTML标签,以便您可以创建一个显示多色或多行文本的 JLabel
。...
public JLabel () public JLabel (java.lang.String text) public JLabel (java.lang.String text, int horizontalAlignment) public JLabel (Icon image) public JLabel (Icon image, int horizontalAlignment) public JLabel (Java.lang.String text, Icon icon, int horizontalAlignment)
horizontalAlignment的值为以下值之一:
horizontalAlignment的值为以下值之一:...
以下代码显示了如何创建JLabel的一些示例。
从字符串创建JLabel
JLabel nameLabel = new JLabel("Name:");
显示图像ok.gif
JLabel warningImage = new JLabel(new Icon("C:/images/ok.gif"));
setText()方法设置JLabel的文本。
JLabel子类用作每个JList的默认渲染器,JComboBox,JTable和JTree组件。
import java.awt.FlowLayout; import javax.swing.JFrame; import javax.swing.JLabel; public class Main { public static void main(String args[]) { JFrame f = new JFrame("Label Demo"); f.setLayout(new FlowLayout()); f.setSize(300, 200); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel label= new JLabel("www..cn"); f.add(label); f.setVisible(true); } }
set Displayed Mnemonic()方法为JLabel设置键盘助记符。键盘助记符字符带有下划线,为用户提供提示。
setLabelFor()方法接受对另一个组件的引用,它指示此JLabel描述该组件。
当按下JLabel的助记键时,焦点设置为在setLabelFor()方法中使用的组件。
在下面的代码中,JLabel的助记符设置为字符N.当用户按Alt + N时,焦点将设置为JTextField。
import java.awt.BorderLayout; // w w w . j a va 2 s . co m import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; public class Main { public static void main(String[] args) { JFrame frame = new JFrame("JFrame"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JTextField nameTextField = new JTextField(); JLabel nameLabel = new JLabel("Name:"); nameLabel.setDisplayedMnemonic("N"); nameLabel.setLabelFor(nameTextField); frame.add(nameLabel, BorderLayout.WEST); frame.add(nameTextField, BorderLayout.CENTER); frame.pack(); frame.setVisible(true); } }
多行标签(HTML)
import javax.swing.JFrame; import javax.swing.JLabel; public class Main { public static void main(String[] a) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel label = new JLabel("<html>bold <br> plain</html>"); frame.add(label); frame.setSize(300, 200); frame.setVisible(true); } }
如果将HTML标记传递给JLabel上的setText方法,则标记必须以“< html>"开头 并以“< / html>"结尾。
我们可以在Swing标签中控制文本对齐。
下面的代码为垂直和水平到中心。
label.setHorizontalAlignment(JLabel.CENTER); label.setVerticalAlignment(JLabel.CENTER);
完整的源代码
import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; //from w w w.ja v a 2s .com import javax.swing.BorderFactory; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.border.Border; public class Main { public static void main(String args[]) { JFrame f = new JFrame("Label Demo"); f.setLayout(new FlowLayout()); f.setSize(300, 200); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel label= new JLabel("www..cn"); Border border = BorderFactory.createLineBorder(Color.BLACK); label.setBorder(border); label.setPreferredSize(new Dimension(150, 100)); label.setText("Centered"); label.setHorizontalAlignment(JLabel.CENTER); label.setVerticalAlignment(JLabel.CENTER); f.add(label); f.setVisible(true); } }
完整的源代码...
JLabel label = new JLabel("Text Label", JLabel.CENTER);
JLabel还可以显示图标并提供图形信息用户。
import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; public class Main { public static void main(String[] args) { JFrame frame = new JFrame("JLabel Test"); frame.setSize(300, 200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ImageIcon imageIcon = new ImageIcon("icon.gif"); JLabel label = new JLabel(imageIcon); frame.add(label); frame.setVisible(true); } }
JLabel还可以显示图标并提供图形信息用户。...
JLabel label = new JLabel("Mixed", imageIcon, SwingConstants.RIGHT);
JLabel可以更改文本字体。 以下代码从Font构造函数创建一个新字体并将创建的字体设置为JLabel。
import java.awt.Color; import java.awt.Font; // www .j av a2 s . c o m import javax.swing.JFrame; import javax.swing.JLabel; public class Main { public static void main(String[] args) { JFrame frame = new JFrame("JLabel Test"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel label = new JLabel("First Name"); label.setFont(new Font("Courier New", Font.ITALIC, 18)); label.setForeground(Color.RED); frame.add(label); frame.pack(); frame.setVisible(true); } }
以下代码显示如何使用JLabel来显示另一个组件的助记符。
以下代码显示如何使用JLabel来显示另一个组件的助记符。...
JLabel助记键用下划线显示,用户可以聚焦目标控制通过按Alt键+助记字母。
import java.awt.BorderLayout; import java.awt.event.KeyEvent; //from w ww. j a v a 2s . co m import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; public class Main { public static void main(String args[]) { JFrame frame = new JFrame("Label Focus Example"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel label = new JLabel("Name: "); label.setDisplayedMnemonic(KeyEvent.VK_N); JTextField textField = new JTextField(); label.setLabelFor(textField); frame.add(label, BorderLayout.WEST); frame.add(textField, BorderLayout.CENTER); frame.add(new JButton("Somewhere Else"), BorderLayout.SOUTH); frame.setSize(250, 100); frame.setVisible(true); } }
import java.awt.FlowLayout; //from ww w. j a v a 2 s.co m import javax.swing.JFrame; import javax.swing.JLabel; public class Main { public static void main(String args[]) { JFrame f = new JFrame("Label Demo"); f.setLayout(new FlowLayout()); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel label= new JLabel("www..cn"); label.setEnabled(false); f.add(label); f.pack(); f.setVisible(true); } }
import java.awt.GridLayout; //from ww w .j av a 2 s.com import javax.swing.JFrame; import javax.swing.JLabel; public class Main { public static void main(String args[]) { UnicodeJFrame unicodeJFrame = new UnicodeJFrame(); unicodeJFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); unicodeJFrame.setSize(350, 250); unicodeJFrame.setVisible(true); } } class UnicodeJFrame extends JFrame { public UnicodeJFrame() { super("Demonstrating Unicode"); setLayout(new GridLayout(8, 1)); JLabel englishJLabel = new JLabel("u0057u0065u006Cu0063" + "u006Fu006Du0065u0020u0074u006Fu0020Unicodeu0021"); englishJLabel.setToolTipText("This is English"); add(englishJLabel); JLabel chineseJLabel = new JLabel("u6B22u8FCEu4F7Fu7528" + "u0020u0020Unicodeu0021"); chineseJLabel.setToolTipText("This is Traditional Chinese"); add(chineseJLabel); JLabel cyrillicJLabel = new JLabel("u0414u043Eu0431u0440" + "u043Eu0020u043Fu043Eu0436u0430u043Bu043Eu0432" + "u0430u0422u044Au0020u0432u0020Unicodeu0021"); cyrillicJLabel.setToolTipText("This is Russian"); add(cyrillicJLabel); JLabel frenchJLabel = new JLabel("u0042u0069u0065u006Eu0076" + "u0065u006Eu0075u0065u0020u0061u0075u0020Unicodeu0021"); frenchJLabel.setToolTipText("This is French"); add(frenchJLabel); JLabel germanJLabel = new JLabel("u0057u0069u006Cu006Bu006F" + "u006Du006Du0065u006Eu0020u007Au0075u0020Unicodeu0021"); germanJLabel.setToolTipText("This is German"); add(germanJLabel); JLabel japaneseJLabel = new JLabel("Unicodeu3078u3087u3045" + "u3053u305Du0021"); japaneseJLabel.setToolTipText("This is Japanese"); add(japaneseJLabel); JLabel portugueseJLabel = new JLabel("u0053u00E9u006Au0061" + "u0020u0042u0065u006Du0076u0069u006Eu0064u006Fu0020" + "Unicodeu0021"); portugueseJLabel.setToolTipText("This is Portuguese"); add(portugueseJLabel); JLabel spanishJLabel = new JLabel("u0042u0069u0065u006E" + "u0076u0065u006Eu0069u0064u0061u0020u0061u0020" + "Unicodeu0021"); spanishJLabel.setToolTipText("This is Spanish"); add(spanishJLabel); } }
JLabel助记键用下划线显示,用户可以聚焦目标控制通过按Alt键+助记字母。...
属性字符串 | 对象类型 |
---|---|
Label.actionMap | ActionMap |
Label.background | Color |
Label.border | Border |
Label.disabledForeground | Color |
Label.disabledShadow | Color |
Label.font | Font |
Label.foreground | Color |
LabelUI | String |
JLabel label= new JLabel("A default label"); Border border = BorderFactory.createLineBorder(Color.BLACK); label.setBorder(border);
向JLabel组件添加拖放支持
import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.TransferHandler; public class Main { public static void main(String[] argv) throws Exception { JLabel label = new JLabel("Label Text"); final String propertyName = "text"; label.setTransferHandler(new TransferHandler(propertyName)); label.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent evt) { JComponent comp = (JComponent) evt.getSource(); TransferHandler th = comp.getTransferHandler(); th.exportAsDrag(comp, evt, TransferHandler.COPY); } }); } }
向JLabel组件添加拖放支持...
import java.awt.Graphics; import java.awt.Rectangle; import javax.swing.JLabel; class UnderlinedLabel extends JLabel { public UnderlinedLabel() { this(""); } public UnderlinedLabel(String text) { super(text); } public void paint(Graphics g) { Rectangle r; super.paint(g); r = g.getClipBounds(); g.drawLine(0, r.height - getFontMetrics(getFont()).getDescent(), getFontMetrics(getFont()) .stringWidth(getText()), r.height - getFontMetrics(getFont()).getDescent()); } }
通用CRUD封装BaseMapper接口,为Mybatis-Plus启动时自动解析实体表关系映射转换为Mybatis内部对象注入容器泛型T为任意实...
MyBatis-Plus 条件构造器-AbstractWrappernested(ConsumerParam consumer)nested(boolean condition, ConsumerParam consumer)正...
JSP教程 -JSP HelloWorld设置Java开发工具包首先,从Oracle的Java站点下载Java软件开发工具包(JDK),并相应地设置PATH环境变量。...
JSP教程 -JSP JavaBeansJavaBean是遵循JavaBeans API规范的Java代码。JavaBean具有以下功能。它有一个默认的无参数构造函数。它...
fmt:formatDate 标签 fmt:formatDate标签用于使用不同的方式格式化日期。语法格式fmt:formatDatevalue=stringtype=stringdateSty...