社区
Java SE
帖子详情
怎样让Jlabel垂直显示文字
isly_sn
2010-02-13 07:58:39
如何让Jlabel垂直显示文字?,就比如这么显示:
新
年
快
乐
试过 new JLabel("<html>垂<br>直<br>显<br>示</html>")
但是感觉文字间距太大了,有没有别的方法?
...全文
278
6
打赏
收藏
怎样让Jlabel垂直显示文字
如何让Jlabel垂直显示文字?,就比如这么显示: 新 年 快 乐 试过 new JLabel("垂直显示") 但是感觉文字间距太大了,有没有别的方法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ostholz
2010-02-19
打赏
举报
回复
效果
ostholz
2010-02-19
打赏
举报
回复
下面是我做过的实现,有左右两个竖排label,没有注释。 看懂了结贴给分啊。
private void drawLabel(Graphics g2d){
convertLabel();
// FontMetrics fm = getFontMetrics(new Font("Serif", Font.PLAIN,10));
FontMetrics fm = getFontMetrics(getFont());
int fontHeight = fm.getAscent()+fm.getDescent()-1;
int dy = width+topMargin+width/10;
int mengeLbl_y = getMengeLabel().getLocation().y;
g2d.setColor(Color.BLUE);
for(int i=0;i<convertedBelnumLabel.length;i++){
if(dy<mengeLbl_y)
g2d.drawString(convertedBelnumLabel[i], xForLinkLabel[i], dy);
dy+=fontHeight;
}
dy = width+topMargin+width/10;
g2d.setColor(Color.BLACK);
for(int i=0;i<convertedBezeichnungLabel.length;i++){
if(dy<mengeLbl_y)
g2d.drawString(convertedBezeichnungLabel[i], xForRightLabel[i], dy);
dy+=fontHeight;
}
}
private void convertLabel(){
int len = 0;
int baseX = 0;
char[] data;
char ch;
int maxWidth = 0;
Font f = getFont();
int fSize = f.getSize();
FontMetrics fm = getFontMetrics(new Font(f.getFontName(), f.getStyle(), fSize+1));
// for linkLabel
len = belnumLabel.length();
data = new char[len];
belnumLabel.getChars(0, len, data, 0);
convertedBelnumLabel = new String[len];
xForLinkLabel = new int[len];
for(int i=0;i<len;i++){
ch = data[i];
int width = fm.charWidth(ch);
if(width > maxWidth){
maxWidth = width;
}
convertedBelnumLabel[i] = new String(data, i, 1);
}
baseX = (width+2*maxWidth)/4-maxWidth/2;
for(int i=0;i<len;i++){
ch = data[i];
xForLinkLabel[i] = (maxWidth-fm.charWidth(ch))/2+baseX;
}
// for rightLabel
len = bezeichnungLabel.length();
data = new char[len];
bezeichnungLabel.getChars(0, len, data, 0);
convertedBezeichnungLabel = new String[len];
xForRightLabel = new int[len];
for(int i=0;i<len;i++){
ch = data[i];
int width = fm.charWidth(ch);
if(width > maxWidth){
maxWidth = width;
}
convertedBezeichnungLabel[i] = new String(data, i, 1);
}
baseX = width*3/4-maxWidth/2;
for(int i=0;i<len;i++){
ch = data[i];
xForRightLabel[i] = (maxWidth-fm.charWidth(ch))/2+ baseX;
}
}
njzdl
2010-02-16
打赏
举报
回复
引用 2 楼 lgg201 的回复:
Swing应该是支持css样式的...可以找找相关资料
who said?
可以考虑改用jpanel以及boxlayout来实现, 效果肯定让你满意
sd4324530
2010-02-14
打赏
举报
回复
怎么跟我的JAVA群里的同学问的问题一样,但是我也不知道怎么实现
goosman
2010-02-13
打赏
举报
回复
Swing应该是支持css样式的...可以找找相关资料
Inhibitory
2010-02-13
打赏
举报
回复
在paintComponent里进行手动绘制。
相关推荐
ocr识别java编程,辅助jar包
java处理ocr图像问题,图片
显示
和
文字
显示
用的
JLabel
:
JLabel
对象可以
显示
文本、图像或同时
显示
二者。可以通过设置
垂直
和水平对齐方式,指定标签
显示
区中标签内容在何处对齐。默认情况下,标签在其
显示
区内
垂直
居中对齐。默认情况下,只
显示
文本的标签是开始边对齐;而只
显示
图像的标签则水平居中对齐。
JAVA中如何设置
文字
在
Jlabel
正上方居中
显示
的方法
代码如下
Jlabel
jlabel
=new new
JLabel
(“杨文正”);
jlabel
.setVerticalTextPosition(
JLabel
.TOP);//
文字
垂直
对齐方式向上
jlabel
.setHorizontalTextPosition(
JLabel
.CENTER);//
文字
水平对齐方式居中
jlabel
.setIcon(icon); ...
Java GUI编程(2)---
JLabel
JLabel
对象创建完成后
显示
一个标签。 标签可以
显示
文本、图像,可设置
垂直
和水平对齐方式, 默认内
垂直
居中对齐。 1,只
显示
文本的标签是开始边对齐; 2,只
显示
图像的标签则水平居中对齐。 3,二者都
显示
,文本位于图像的结尾边上,文本和图像都
垂直
对齐。 构造方法
JLabel
()
JLabel
(String text)
JLabel
(String text, int horizon...
div
垂直
居中-CSS元素
垂直
居中方法的探究
针对学员疑问“div
垂直
居中?”引出的“CSS元素
垂直
居中一系列方法的探究”的针对性课程,课程包含两方面:1、文本
垂直
居中的解决方案;2、块级元素
垂直
居中的解决方案。
1.14.ARM裸机第十四部分-LCD
显示
器
本期课程主要讲解LCD。首先讲了LCD
显示
原理、颜色原理、LCD
显示
器的主要性能参数、概念等,然后进入了LCD编程实战部分,用6节课从零开始带大家编写程序在LCD上
显示
像素、背景、线条、
文字
、图片等内容。本课程的学习目标是掌握LCD
显示
相关的概念和编程方法,对显存的作用和填充有本质的了解,对图像
显示
有一定的认识。
Java SE
62,569
社区成员
307,519
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告