3 彩色标签(练习)

该博客展示了如何使用Java Swing创建一个带有不同颜色背景的标签。通过`MyFrame`类和`MyFrame2`类的实现,可以看到两种方式来设置标签的背景色、大小和文本对齐方式。代码中创建了红色、蓝色、绿色和灰色的标签,并利用`FlowLayout`布局管理器进行排列展示。
摘要由CSDN通过智能技术生成

(练习)彩色标签

代码(版本1):

import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;

public class Demo {
	
	public static void main(String[] args) {
		MyFrame frame = new MyFrame("Demo");
		frame.setSize(300, 300);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
	}
}

class MyFrame extends JFrame{

	Container contentPane;

	public MyFrame(String title) {
		super(title);
		
		contentPane = getContentPane();
		contentPane.setLayout(new FlowLayout());
		
		makeLabel("1", Color.RED);
		makeLabel("2", Color.BLUE);
		makeLabel("3", Color.GREEN);
		makeLabel("4", Color.GRAY);
	}
	
	public void makeLabel(String text, Color color) {
		JLabel label = new JLabel(text);
		//设置背景为非透明
		label.setOpaque(true);
		//设置背景尺寸
		label.setPreferredSize(new Dimension(60, 30));
		//设置背景颜色
		label.setBackground(color);
		//设置文字水平
		label.setHorizontalAlignment(SwingConstants.CENTER);
		contentPane.add(label);
	}
}

代码(版本2):

import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;

public class Demo2 {

	public static void main(String[] args) {
		MyFrame2 frame = new MyFrame2("Demo");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setSize(300, 300);
		frame.setVisible(true);
	}
}

class MyFrame2 extends JFrame{
	
	public MyFrame2(String title) {
		super(title);
		
		Container contentPane = this.getContentPane();
		contentPane.setLayout(new FlowLayout());
		contentPane.add(new ColorfulLabel("1", Color.BLUE));
		contentPane.add(new ColorfulLabel("2", Color.RED));
		contentPane.add(new ColorfulLabel("3", Color.GREEN));
		contentPane.add(new ColorfulLabel("4", Color.GRAY));
	}
	
	private class ColorfulLabel extends JLabel{
		public ColorfulLabel(String text, Color color) {
			this.setText(text);
			this.setOpaque(true);
			this.setHorizontalAlignment(SwingConstants.CENTER);
			this.setPreferredSize(new Dimension(60, 30));
			this.setBackground(color);
		}
	}
}

输出:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值