在这里尝试这个代码示例,这将适用于您的情况:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class LabelOverLabel

{

public static final String HTML =

"" +

"

"body, html { padding: 0px; margin: 0px; }" +

"" +

"

" +

"

" width=320 height=240>" +

"";

private static final String PLAYERONE =

"" +

"

"body, html { padding: 0px; margin: 0px; }" +

"" +

"

" +

"

" width=160 height=120>" +

"";

private static final String PLAYERTWO =

"" +

"

"body, html { padding: 0px; margin: 0px; }" +

"" +

"

" +

"

" width=160 height=120>" +

"";

private JLabel playerOneLabel;

private JLabel playerTwoLabel;

private void createAndDisplayGUI()

{

JFrame frame = new JFrame("JLabel Over JLabel");

frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

final JLabel bottomLabel = new JLabel(HTML);

bottomLabel.setLayout(new FlowLayout(FlowLayout.LEFT, 2, 2));

playerOneLabel = new JLabel(PLAYERONE);

bottomLabel.add(playerOneLabel);

JButton insertPlayer = new JButton("INSERT");

insertPlayer.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent ae)

{

playerTwoLabel = new JLabel(PLAYERTWO);

bottomLabel.add(playerTwoLabel);

bottomLabel.revalidate();

bottomLabel.repaint();

}

});

frame.getContentPane().add(bottomLabel, BorderLayout.CENTER);

frame.getContentPane().add(insertPlayer, BorderLayout.PAGE_END);

frame.pack();

frame.setLocationByPlatform(true);

frame.setVisible(true);

}

public static void main(String... args)

{

SwingUtilities.invokeLater(new Runnable()

{

public void run()

{

new LabelOverLabel().createAndDisplayGUI();

}

});

}

}

这是相同的输出:

另一种实现此目的的方法是:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class LabelOverLabel

{

private JLabel playerOneLabel;

private JLabel playerTwoLabel;

private Icon[] icons = {UIManager.getIcon("OptionPane.informationIcon"),

UIManager.getIcon("OptionPane.errorIcon"),

UIManager.getIcon("OptionPane.warningIcon")};

private void createAndDisplayGUI()

{

JFrame frame = new JFrame("JLabel Over JLabel");

frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

final JLabel bottomLabel = new JLabel("I am a JLabel");

bottomLabel.setBorder(BorderFactory.createLineBorder(Color.BLUE.darker(), 5));

//bottomLabel.setIcon(icons[0]);

bottomLabel.setLayout(new FlowLayout(FlowLayout.LEFT, 2, 2));

playerOneLabel = new JLabel();

playerOneLabel.setIcon(icons[1]);

bottomLabel.add(playerOneLabel);

JLabel secondLabel = new JLabel("1");

bottomLabel.add(secondLabel);

JButton insertPlayer = new JButton("INSERT");

insertPlayer.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent ae)

{

playerTwoLabel = new JLabel();

playerTwoLabel.setIcon(icons[2]);

bottomLabel.add(playerTwoLabel);

bottomLabel.revalidate();

bottomLabel.repaint();

}

});

frame.getContentPane().add(bottomLabel, BorderLayout.CENTER);

frame.getContentPane().add(insertPlayer, BorderLayout.PAGE_END);

frame.pack();

frame.setLocationByPlatform(true);

frame.setVisible(true);

}

public static void main(String... args)

{

SwingUtilities.invokeLater(new Runnable()

{

public void run()

{

new LabelOverLabel().createAndDisplayGUI();

}

});

}

}

输出是:

java jlabel_java – 如何将JLabel放在JLabel中或将JLabel划...相关推荐

  1. java label对齐方式_java – 在BorderLayout中对齐JLabel和JTextField

    我只是尝试使用一些GUI组件的Java BorderLayout和GridLayout. 我正在尝试右对齐JLabel并左对齐JTextFields,以便它可以更好看. 在setAlignmentX和 ...

  2. java label设置字体颜色_Java中怎么设置JLabel的字体样式,大小,颜色

    展开全部 答 : 最常32313133353236313431303231363533e4b893e5b19e31333363386166见的解决方案有两种. 第一种: 原生的java写法. 核心代码 ...

  3. Java文本文件放哪_java-将文本文件放在Intellij中的位置

    我想用代码读取名为FileofNames.txt的文件.但是当我运行此代码时,我得到了NullPointerException. URL url=ApacheCommonIOExample.class ...

  4. 【Java 基础】静态常量放在 class 类中还是放在 interface 中

    一.放在 class 类中 package com.example.demo.utils;public class ParamUtils {private ParamUtils() {}public ...

  5. Java主方法引用传递_java方法中的参数传递是值传递还是引用传递(转)

    1.当参数变量为基本数据类型或者字符串时: ... ... //定义了一个改变参数值的函数 public static void changeValue(int x) { x = x *2; } .. ...

  6. 【Java数据库】CLOB BLOB 在数据库中存入/取出大量文本数据、二进制文件(图片)

    CLOB(Character Large Object) – 用于存储大量的文本数据 – 大字段有些特殊,不同数据库处理的方式不一样,大字段的操作常常是以流的 方式来处理的.而非一般的字段,一次即可读 ...

  7. java exe jdk_javac.exe 和java.exe两个可执行程序放在JDK安装目录的( )目录下。_学小易找答案...

    [填空题]跳转语句包括 . . 和 [填空题]创建包时需要使用关键字 . [单选题]假设 a 是 int 类型的变量,并初始化为 1 ,则下列( )是合法的条件语句? [单选题]有一个类 B ,下面为 ...

  8. java GUI怎么输入_在Swing中创建Java GUI以进行表单输入

    好吧,我已经浏览了整个互联网,但却未能找到这个问题的答案,所以也许有人可以提供一些见解. 我正在开发一个相对简单的Java应用程序,它将取代目前用于系统访问请求的Word文档.它旨在允许表单输入新的员 ...

  9. java 绑定微信号开发_Java开发中的常见危险信号

    java 绑定微信号开发 在开发,阅读,复审和维护成千上万行Java代码的几年中,我已经习惯于看到Java代码中的某些" 危险信号 ",这些信号通常(但可能并非总是)暗示着代码有问 ...

最新文章

  1. 数据结构学习系列文章合集
  2. 自学计算机科学CS总结-by 要有光LTBL
  3. ITK:复制非复合转换NonCompositeTransform
  4. leetcode 135. 分发糖果
  5. 前端学习(2226):react之组件
  6. 调用图片文件夹中的任意图片随机显示_他来了,他来了,Mathpix拜拜了~~~文字、表格、公式图片识别神器V0.1测试版...
  7. python发微信工资条_帮公司财务妹子写了个“群发工资条”的Python脚本!
  8. C++动态绑定和静态绑定
  9. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_02-freemarker介绍
  10. php各安装包中TS和NTS及SRC/VC6|VC9|VC11|VC14|VC15版本区别意思详解(转)
  11. java多线程百度云_654619 汪文君Java多线程编程实战
  12. K3 官改新手小白配置阿里DDNS 超级详细
  13. linux双系统无u盘安装教程视频教程,window 与Linux Mint 双系统U盘安装方法
  14. 创业之路 - 人脉关系 VS 人际关系
  15. DenseBox Unifying Landmark Localization with End to End Object Detection
  16. http://wenku.baidu.com/view/d6433106a6c30c2259019e63.html
  17. 如何用计算机求素数,在线质数(素数)计算器
  18. Postman使用技巧之三:用Postman生成Request代码
  19. 区块链未来三年将成为数字中国建设的重要支撑
  20. 从CLUB.CHINAREN上复制的

热门文章

  1. MyBatis插件开发原理
  2. arcgis gdb新建浮点型字段不能设置精度和小数位数
  3. AndroidStudio引入Github上的第三方库(从下载到部署完整过程演示)
  4. 车轮2米 车保险杠1。2米 。1。2米是可以侧方出库的
  5. 想学游戏建模,选择场景模型还是角色模型好?
  6. Win7 3264位纯净版下载地址
  7. “微信跳一跳”辅助脚本的一种简单实现
  8. C语言递归小游戏—汉诺塔(hanoi)
  9. apicloud APP获取相机权限执行操作
  10. 四川速匠:抖音的三种账号类型