`
tuxq5721
  • 浏览: 34477 次
社区版块
存档分类
最新评论

wing —— JLabel预览示例

阅读更多

 

代码如下:

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();
        }
}
 

 

分享到:
评论

相关推荐

    java JLabel组件的资源

    `JLabelDemo1.java`很可能是演示如何使用JLabel的示例代码。可能包含创建JLabel,设置文本或图像,添加到容器,以及可能的布局管理和事件处理代码。具体实现要看源码内容。 9. **Java.jpg** 这张图片可能被用作...

    java JLabel实例

    在这个“java JLabel实例”的压缩包中,我们可能找到了一系列关于如何在实际项目中应用JLabel的代码示例。 首先,JLabel的基本用法是创建一个显示文本的标签。例如: ```java JLabel label = new JLabel("欢迎来到...

    Jlabel实现内容自动换行简单实例

    JLabel实现内容自动换行简单实例 JLabel是一个Java Swing中的组件,用于显示文本或图像。在实际开发中,我们经常需要在JLabel中显示较长的文本,然而JLabel默认情况下不会自动换行,这将导致文本溢出或难以阅读。...

    用JLabel剪接图片

    10. **实战示例** 创建一个`JFrame`,设置`GridBagLayout`,然后根据需求创建多个`JLabel`,分别加载图片并设置相应的约束,最后将这些`JLabel`添加到`JFrame`中,即可实现图片的剪接展示。 总的来说,利用`JLabel...

    Java编程swing组件JLabel详解以及使用示例

    Java 编程 Swing 组件 JLabel 详解及使用示例 Java 编程中,Swing 组件 JLabel 是一个基本的组件,用于显示文本、图像或同时显示二者。JLabel 对象可以通过设置垂直和水平对齐方式,指定标签显示区中标签内容在何处...

    java Icon应用到JLabel中

    在这个示例中,`JLabelDemo2.java` 文件应该是实现了上述代码的主程序。当运行这个程序时,`Java.jpg` 的图像将被加载并显示在`JLabel`中。 除了`ImageIcon`,还有其他类型的`Icon`,如`BasicArrowButton.Icon`和`...

    JavaSE JLabel超链接例子

    例如,下面是一个简单的JLabelLink类的示例: ```java import javax.swing.JLabel; import java.awt.Color; import java.awt.Component; import java.awt.Graphics; import java.awt.event.MouseAdapter; import ...

    动态提取系统当前时间并放到JLabel上

    本文将详细介绍如何通过Java代码实现在程序运行时动态提取系统当前时间,并将其显示在一个`JLabel`组件上,以实现时间的实时更新。 ### 一、基础知识介绍 #### 1.1 `JLabel` 组件简介 `JLabel` 是Swing中的一种轻...

    Java图形界面示例程序 —— 问卷调查表

    在这个示例中,可能使用了JFrame作为主窗口,JLabel和JTextField来创建登录界面的用户名和密码提示,以及JButton来处理登录事件。 2. **事件监听器**: Java GUI中的组件通常需要事件监听器来响应用户的操作。例如,...

    精典java程序示例

    7. **Swing与GUI**:对于桌面应用开发,Java的Swing库提供了丰富的组件,如JButton、JLabel、JFrame等。示例会教你如何构建用户界面,并响应用户交互。 8. **JavaFX**:作为现代UI开发的替代,JavaFX提供了更高级的...

    Java用JLabel调用显示windows字体美化窗口.rar

     String[] text={"Font Demo","Monospaced,斜体,24号","宋体字示例","黑体","Serif,粗体,斜体,18号"}; //显示的文本  Container container=getContentPane(); //得到容器  Box boxLayout=Box....

    Java之JLabel带图片

    在给定的代码示例中,首先导入了必要的包: ```java import java.awt.*; import java.net.URL; import javax.swing.*; ``` 这里包含了`java.awt`包下的`Graphics`相关类,`javax.swing`包下的Swing组件,以及`java...

    Java JLabel显示多种字体样式.rar

    Java JLabel显示多种字体样式,其实是向大家演示如何在Java的窗口中实现自定义字体,示例中使用了多种字体样式,定义了不同的字体模式,比如字体名称、粗细、是否斜体等,这些都是Java的基础知识范畴吧。

    JAVA实现文件预览功能

    以下是一个基本的示例: ```java import java.io.*; public class TextFilePreview { public static void previewTextFile(String filePath) { try (BufferedReader reader = new BufferedReader(new FileReader...

    java实现pdf预览功能项目汇总,含三个项目

    Swing适合开发传统的桌面应用,可以使用`JLabel`或`JPanel`配合`ImageIcon`来显示PDF页面的图像。JavaFX则提供了更现代的UI组件和更好的视觉效果,如`ImageView`,同样可以加载和显示PDF预览图像。 六、性能优化与...

    Java学生管理系统

    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 JLabel标签是Java Swing GUI组件库中的一种基本组件,用于在图形用户界面中显示文本或图片。通过设置JLabel的各种属性,可以控制标签的外观和行为。下面是JLabel的使用...

    Java基础学习示例源代码

    在"Java从入门到精通(项目案例版)"中,你可能会遇到使用JFrame、JButton、JLabel等组件创建窗口应用的示例,以及事件监听器的使用,例如ActionListener,用于处理用户的交互事件。 4. 网络编程: Java的Socket...

    跟我学Java面向对象程序设计技术及应用——Java-Swing-GUI组件技术教学参考示例(第2部分).pdf

    - `createAllButtonsInToolBar()`方法用于初始化工具栏中的按钮,例如创建了一个`JLabel`对象`backButton`,并设置了其文本、提示文本和图标。 在实际开发中,`JToolBar`可以与其他组件结合,如`JButton`、`...

    我想在jlabel上实现Key Listener

    在Java Swing中,`JLabel`是一个用于展示文本或图像的组件,通常不直接支持键盘事件,因为它不是可聚焦的组件。但是,如果你确实需要在`JLabel`上监听键盘事件,可以采取一些策略来实现这个功能。下面将详细介绍如何...

Global site tag (gtag.js) - Google Analytics