代码如下:
public class JLabelTest extends BaseFrame { private JLabel label; public JLabelTest() { JLabel label = createTestLabel(); mainWin.add(label); JPanel p = createTestPanel(); mainWin.add(p, BorderLayout.SOUTH); } private JLabel createTestLabel() { label = new JLabel(); label.setPreferredSize(new Dimension(600, 300)); label.setOpaque(true); label.setBackground(Color.WHITE); return label; } private JPanel createTestPanel() { JPanel p = new JPanel(); p.setBorder(BorderFactory.createTitledBorder("测试")); // 文本/图片: 显示、调整间距、助记符、禁用与启用时显示的图标 Box verticalBox = new Box(BoxLayout.Y_AXIS); JPanel p1 = new JPanel(new FlowLayout(FlowLayout.LEFT)); final JCheckBox showIcon = createShowIconCheckBox(); final JCheckBox showText = createShowTextCheckBox(); final JTextField gapTextField = createIconTextGapTextField(); JLabel gapLabel = new JLabel("iconTextGap:"); gapLabel.setDisplayedMnemonic('G'); gapLabel.setLabelFor(gapTextField); final JCheckBox disabledIcon = createDisabledIconCheckBox(); p1.add(showIcon); p1.add(showText); p1.add(gapLabel); p1.add(gapTextField); p1.add(disabledIcon); verticalBox.add(p1); // 文本 水平/垂直 位置 JPanel p2 = new JPanel(new FlowLayout(FlowLayout.LEFT)); final JComboBox horizontalTextPosition = createHorizontalTextPositionComboBox(); final JComboBox verticalTextPosition = createVerticalTextPositionComboBox(); p2.add(new JLabel("HorizontalTextPosition")); p2.add(horizontalTextPosition); p2.add(new JLabel("VerticalTextPosition")); p2.add(verticalTextPosition); verticalBox.add(p2); // 组件 水平/垂直 对齐 JPanel p3 = new JPanel(new FlowLayout(FlowLayout.LEFT)); final JComboBox horizontalAlignment = createHorizontalAlignmentComboBox(); p3.add(new JLabel("HorizontalAlignment")); p3.add(horizontalAlignment); final JComboBox verticalAlignment = createVerticalAlignmentComboBox(); p3.add(new JLabel("VerticalAlignment")); p3.add(verticalAlignment); verticalBox.add(p3); p.add(verticalBox); return p; } private JCheckBox createDisabledIconCheckBox() { label.setDisabledIcon(ImageManger.loadIcon("disabled.png")); final JCheckBox checkBox = new JCheckBox("Disabled"); checkBox.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { JCheckBox checkBox = (JCheckBox) e.getSource(); label.setEnabled(!checkBox.isSelected()); } }); return checkBox; } private JTextField createIconTextGapTextField() { // 如果同时设置了图标和文本属性,则此属性定义它们之间的间隔。 final JTextField gapTextField = new JTextField("4", 10); gapTextField.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { int iconTextGap = 4; try { iconTextGap = Integer.valueOf(gapTextField.getText()); } catch (Exception ex) { ex.printStackTrace(); } label.setIconTextGap(iconTextGap); } }); return gapTextField; } private JComboBox createVerticalAlignmentComboBox() { final JComboBox verticalAlignment = new JComboBox(new Object[]{ "SwingConstants.TOP", "SwingConstants.CENTER", "SwingContants.BOTTOM" }); verticalAlignment.setSelectedItem("SwingConstants.CENTER"); verticalAlignment.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String item = (String) verticalAlignment.getSelectedItem(); String neededValue = item.substring(item.indexOf(".") + 1); if(neededValue.equals("TOP")){ label.setVerticalAlignment(SwingUtilities.TOP); }else if(neededValue.equals("CENTER")){ label.setVerticalAlignment(SwingUtilities.CENTER); }else if(neededValue.equals("BOTTOM")){ label.setVerticalAlignment(SwingUtilities.BOTTOM); } } }); return verticalAlignment; } private JComboBox createHorizontalAlignmentComboBox() { final JComboBox horizontalAlignment = new JComboBox(new Object[]{ "SwingConstants.LEFT", "SwingConstants.CENTER", "SwingContants.RIGHT" , "SwingConstants.LEADING", "SwingConstants.TRAILING" }); horizontalAlignment.setSelectedItem("SwingConstants.LEFT"); horizontalAlignment.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String item = (String) horizontalAlignment.getSelectedItem(); String neededValue = item.substring(item.indexOf(".") + 1); int alignment = SwingConstants.LEFT; if(neededValue.equals("LEFT")){ alignment = SwingConstants.LEFT; }else if(neededValue.equals("CENTER")){ alignment = SwingConstants.CENTER; }else if(neededValue.equals("RIGHT")){ alignment = SwingConstants.RIGHT; }else if(neededValue.equals("LEADING")){ alignment = SwingConstants.LEADING; }else if(neededValue.equals("TRAILING")){ alignment = SwingConstants.TRAILING; } label.setHorizontalAlignment(alignment); } }); return horizontalAlignment; } private JComboBox createHorizontalTextPositionComboBox() { final JComboBox horizontalTextPosition = new JComboBox(new Object[]{ "SwingConstants.LEFT", "SwingConstants.CENTER", "SwingContants.RIGHT" , "SwingConstants.LEADING", "SwingConstants.TRAILING" }); horizontalTextPosition.setSelectedItem("SwingConstants.LEFT"); horizontalTextPosition.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String item = (String) horizontalTextPosition.getSelectedItem(); String neededValue = item.substring(item.indexOf(".") + 1); int textPosition = SwingConstants.LEFT; if(neededValue.equals("LEFT")){ textPosition = SwingConstants.LEFT; }else if(neededValue.equals("CENTER")){ textPosition = SwingConstants.CENTER; }else if(neededValue.equals("RIGHT")){ textPosition = SwingConstants.RIGHT; }else if(neededValue.equals("LEADING")){ textPosition = SwingConstants.LEADING; }else if(neededValue.equals("TRAILING")){ textPosition = SwingConstants.TRAILING; } label.setHorizontalTextPosition(textPosition); } }); return horizontalTextPosition; } private JComboBox createVerticalTextPositionComboBox() { final JComboBox verticalTextPosition = new JComboBox(new Object[]{ "SwingConstants.TOP", "SwingConstants.CENTER", "SwingContants.BOTTOM" }); verticalTextPosition.setSelectedItem("SwingConstants.CENTER"); verticalTextPosition.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String item = (String) verticalTextPosition.getSelectedItem(); String neededValue = item.substring(item.indexOf(".") + 1); if(neededValue.equals("TOP")){ label.setVerticalTextPosition(SwingUtilities.TOP); }else if(neededValue.equals("CENTER")){ label.setVerticalTextPosition(SwingUtilities.CENTER); }else if(neededValue.equals("BOTTOM")){ label.setVerticalTextPosition(SwingUtilities.BOTTOM); } } }); return verticalTextPosition; } private JCheckBox createShowTextCheckBox() { final JCheckBox showText = new JCheckBox("text"); showText.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String text = null; if(showText.isSelected()){ text = "text"; } label.setText(text); } }); showText.doClick(); return showText; } private JCheckBox createShowIconCheckBox() { final JCheckBox showIcon = new JCheckBox("icon"); showIcon.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Icon icon = null; if(showIcon.isSelected()){ icon = ImageManger.loadIcon("clock.png"); } label.setIcon(icon); } }); showIcon.doClick(); return showIcon; } public static void main(String[] args) { new JLabelTest().display(); } }
相关推荐
`JLabelDemo1.java`很可能是演示如何使用JLabel的示例代码。可能包含创建JLabel,设置文本或图像,添加到容器,以及可能的布局管理和事件处理代码。具体实现要看源码内容。 9. **Java.jpg** 这张图片可能被用作...
在这个“java JLabel实例”的压缩包中,我们可能找到了一系列关于如何在实际项目中应用JLabel的代码示例。 首先,JLabel的基本用法是创建一个显示文本的标签。例如: ```java JLabel label = new JLabel("欢迎来到...
JLabel实现内容自动换行简单实例 JLabel是一个Java Swing中的组件,用于显示文本或图像。在实际开发中,我们经常需要在JLabel中显示较长的文本,然而JLabel默认情况下不会自动换行,这将导致文本溢出或难以阅读。...
10. **实战示例** 创建一个`JFrame`,设置`GridBagLayout`,然后根据需求创建多个`JLabel`,分别加载图片并设置相应的约束,最后将这些`JLabel`添加到`JFrame`中,即可实现图片的剪接展示。 总的来说,利用`JLabel...
Java 编程 Swing 组件 JLabel 详解及使用示例 Java 编程中,Swing 组件 JLabel 是一个基本的组件,用于显示文本、图像或同时显示二者。JLabel 对象可以通过设置垂直和水平对齐方式,指定标签显示区中标签内容在何处...
在这个示例中,`JLabelDemo2.java` 文件应该是实现了上述代码的主程序。当运行这个程序时,`Java.jpg` 的图像将被加载并显示在`JLabel`中。 除了`ImageIcon`,还有其他类型的`Icon`,如`BasicArrowButton.Icon`和`...
例如,下面是一个简单的JLabelLink类的示例: ```java import javax.swing.JLabel; import java.awt.Color; import java.awt.Component; import java.awt.Graphics; import java.awt.event.MouseAdapter; import ...
本文将详细介绍如何通过Java代码实现在程序运行时动态提取系统当前时间,并将其显示在一个`JLabel`组件上,以实现时间的实时更新。 ### 一、基础知识介绍 #### 1.1 `JLabel` 组件简介 `JLabel` 是Swing中的一种轻...
在这个示例中,可能使用了JFrame作为主窗口,JLabel和JTextField来创建登录界面的用户名和密码提示,以及JButton来处理登录事件。 2. **事件监听器**: Java GUI中的组件通常需要事件监听器来响应用户的操作。例如,...
7. **Swing与GUI**:对于桌面应用开发,Java的Swing库提供了丰富的组件,如JButton、JLabel、JFrame等。示例会教你如何构建用户界面,并响应用户交互。 8. **JavaFX**:作为现代UI开发的替代,JavaFX提供了更高级的...
String[] text={"Font Demo","Monospaced,斜体,24号","宋体字示例","黑体","Serif,粗体,斜体,18号"}; //显示的文本 Container container=getContentPane(); //得到容器 Box boxLayout=Box....
在给定的代码示例中,首先导入了必要的包: ```java import java.awt.*; import java.net.URL; import javax.swing.*; ``` 这里包含了`java.awt`包下的`Graphics`相关类,`javax.swing`包下的Swing组件,以及`java...
Java JLabel显示多种字体样式,其实是向大家演示如何在Java的窗口中实现自定义字体,示例中使用了多种字体样式,定义了不同的字体模式,比如字体名称、粗细、是否斜体等,这些都是Java的基础知识范畴吧。
以下是一个基本的示例: ```java import java.io.*; public class TextFilePreview { public static void previewTextFile(String filePath) { try (BufferedReader reader = new BufferedReader(new FileReader...
Swing适合开发传统的桌面应用,可以使用`JLabel`或`JPanel`配合`ImageIcon`来显示PDF页面的图像。JavaFX则提供了更现代的UI组件和更好的视觉效果,如`ImageView`,同样可以加载和显示PDF预览图像。 六、性能优化与...
jLabel2.setBounds(new Rectangle(214, 8, 63, 28)); jLabel2.setText("选择班号"); jLabel2.setFont(new java.awt.Font("Dialog", 0, 15)); jLabel3.setBounds(new Rectangle(7, 54, 67, 28)); jLabel3....
Java Swing JLabel标签的使用方法 Java Swing JLabel标签是Java Swing GUI组件库中的一种基本组件,用于在图形用户界面中显示文本或图片。通过设置JLabel的各种属性,可以控制标签的外观和行为。下面是JLabel的使用...
在"Java从入门到精通(项目案例版)"中,你可能会遇到使用JFrame、JButton、JLabel等组件创建窗口应用的示例,以及事件监听器的使用,例如ActionListener,用于处理用户的交互事件。 4. 网络编程: Java的Socket...
- `createAllButtonsInToolBar()`方法用于初始化工具栏中的按钮,例如创建了一个`JLabel`对象`backButton`,并设置了其文本、提示文本和图标。 在实际开发中,`JToolBar`可以与其他组件结合,如`JButton`、`...
在Java Swing中,`JLabel`是一个用于展示文本或图像的组件,通常不直接支持键盘事件,因为它不是可聚焦的组件。但是,如果你确实需要在`JLabel`上监听键盘事件,可以采取一些策略来实现这个功能。下面将详细介绍如何...