社区
Java SE
帖子详情
怎样让Jlabel垂直显示文字
isly_sn
2010-02-13 07:58:39
如何让Jlabel垂直显示文字?,就比如这么显示:
新
年
快
乐
试过 new JLabel("<html>垂<br>直<br>显<br>示</html>")
但是感觉文字间距太大了,有没有别的方法?
...全文
303
6
打赏
收藏
怎样让Jlabel垂直显示文字
如何让Jlabel垂直显示文字?,就比如这么显示: 新 年 快 乐 试过 new JLabel("垂直显示") 但是感觉文字间距太大了,有没有别的方法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
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里进行手动绘制。
Java用
JLabel
调用
显示
windows字体美化窗口.rar
Java调用windows字体美化窗口,
显示
多种字体,用
JLabel
实现,可以很方便 的调用宋体、黑体、Sanf等多种系统字体,轻松改变窗口界面中的字体风格,从而起到美化窗口界面的作用。代码是这样的: //字体数组: ...
ocr识别java编程,辅助jar包
java处理ocr图像问题,图片
显示
和
文字
显示
用的
JLabel
:
JLabel
对象可以
显示
文本、图像或同时
显示
二者。可以通过设置
垂直
和水平对齐方式,指定标签
显示
区中标签内容在何处对齐。默认情况下,标签在其
显示
区内
垂直
居中...
java 中
JLabel
中的内容
垂直
居中和水平居中问题
java 中
JLabel
中的内容
垂直
居中和水平居中问题 之前网上找了很多,有第三方插件的,但是没有解决问题,最终发现Java自带的布局就能实现其功能;主要如下:水平居中,
垂直
居中,即水平居中又
垂直
居中。 1.水平居中 ...
java
jlabel
文字
居中_Java
JLabel
文本位于
垂直
轴的中间
问题是文本
显示
在
JLabel
所在空间的底部.这不会向最终用户传达关于GUI的其他内容的相关信息.相反,我需要将
JLabel
的文本打印在
JLabel
的
垂直
轴的中间.我的代码的简化版本如下.任何人都可以告诉我如何改变它,使文本
显示
...
java 文本
显示
_如何在
JLabel
中
垂直
显示
文本? (Java 1.6)
public void paint(Graphics g,JComponent c) {
JLabel
label = (
JLabel
)c; String text = label.getText(); Icon icon = (label.isEnabled()) ? label.getIcon() : label.getDisabledIcon(); if ((icon == null) &...
Java SE
62,615
社区成员
307,318
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章