java label覆盖_java – 将JLabel置于JLabel之上,其中包含图像

本文介绍了如何在Java Swing中将一个JLabel放置在另一个作为背景图像的JLabel上方。提供了两种实现方式,一种是通过自定义PaintPane组件绘制背景图像,另一种是直接在带有图像的JLabel上添加文字标签。示例代码展示了如何创建这样的布局。
摘要由CSDN通过智能技术生成

我很确定之前已经问过这个问题,但我的情况略有不同,因为我试图将JLabel置于JLabel作为背景的顶部,我想使用JLabel显示更改的数字并且需要数字显示在背景上,但是我有点摇摆n00b,感谢提前,Jonathan

解决方法:

如果您不需要完全理解您的要求,如果您只需要在背景图像上显示文字,那么最好将标签放在能够绘制背景的自定义面板上.

您可以获得布局管理器的好处而不会出现问题.

如果这看起来令人生畏,JLabel实际上是一种Container,这意味着它实际上可以“包含”其他组件.

背景窗格……

public class PaintPane extends JPanel {

private Image background;

public PaintPane(Image image) {

// This is just an example, I'd prefer to use setters/getters

// and would also need to provide alignment options ;)

background = image;

}

@Override

public Dimension getPreferredSize() {

return background == null ? new Dimension(0, 0) : new Dimension(background.getWidth(this), background.getHeight(this));

}

@Override

protected void paintComponent(Graphics g) {

super.paintCo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值