社区
Java SE
帖子详情
JLabel的名称中如何换行?
milufeiyang
2002-05-08 05:46:29
比如JLabel label = new JLabel( "This is a test.\n faintfaint" );
我希望标签显示为两行,在\n处分行,请问是否可以达到这种效果?
哪位大虾给点代码?
...全文
2963
12
打赏
收藏
JLabel的名称中如何换行?
比如JLabel label = new JLabel( "This is a test.\n faintfaint" ); 我希望标签显示为两行,在\n处分行,请问是否可以达到这种效果? 哪位大虾给点代码?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qianheliu
2010-06-02
打赏
举报
回复
用<html>标签后,jLabel标签中的内容一旦生成就不能灵活改变,有没有更好的办法?
alphazhao
2002-05-09
打赏
举报
回复
很简单的,按照xioyoo(xioyoo)所说,其实你只要那一句就行
JLabel label=new JLabel("<html><body><p>this is a test</p><br><p>faint faint</p><body></html>");
现在我假如你消息体最多显示两行,即进入消息体参数为String msg里面只含有一个"\n",那么进行如下处理:
String strMsg = msg;
int i = strMsg.indexOf("\n");//判断消息体是否含有\n换行
if(i!=-1) {//i=-1表示不含"\n",即消息体无须换行
String msg1 = strMsg.substring(0,i);//第一行
String msg2 = strMsg.substring(i+1);//第二行
strMsg = "<html><body>"+msg1+"<br>"+msg2+"<body></html>";//换行处理
}
……
其它的可以不改动,即
JLabel label = new JLabel(strMsg);//用label放置消息体
无需改变
我试过了,可以完成,且两行之间间隔也合理些
seasun2k
2002-05-09
打赏
举报
回复
费这么大劲干嘛?? 用两个label就好了
milufeiyang
2002-05-09
打赏
举报
回复
我java水平不行,能写也就不需要问了……
肖尧19
2002-05-08
打赏
举报
回复
我觉得思路说清楚了,你怎么那么懒啊,我不写代码。
milufeiyang
2002-05-08
打赏
举报
回复
不能给点代码么?
我希望最好能是在Jlable上改动就可以解决……
肖尧19
2002-05-08
打赏
举报
回复
同样可以解决!
得到消息的长度,得到当前使用的字体的宽度,然后可以计算出消息的总长
得到要显示消息的组件的WIDTH
然后把消息总长度和组件的WIDTH比较
如果消息长大于组件宽就换行(可以做除取模!)
得到分成几行后,再在每行添加<br>,首尾添加<html> ... </html>
在显示到组件上就OK了!
alphazhao
2002-05-08
打赏
举报
回复
他的意思是传入一String消息体
判断\n处的位置,然后决定换行
这方面兄弟不打熟悉……
turbochen
2002-05-08
打赏
举报
回复
xioyoo(xioyoo) 是对的.
String str = "<html><body>第一行<br>第二行</body></html>";
JLabel label = new JLabel(str);
利用html语法,前后一定要有<html><body>标签,如要换行,可用<br>或<p>标签.
milufeiyang
2002-05-08
打赏
举报
回复
我并不是这个意思,大家看看我的源代码就清楚了,其实我想用Jlable来做个消息框,但是消息太长时,我想换行,不知道该如果处理的说
源代码如下(在strMsg的,号后换行):
import javax.swing.*;
import java.awt.*;
class applit extends Thread {
private String strTitle;//消息显示标题
private String strMsg;//显示消息体
public applit(String title, String msgBody) {
strTitle = title;
strMsg = msgBody;
}
public void run() {
try {//自定义消息框格式
Font f = new Font("Serif", Font.PLAIN, 16);//定义消息体字体格式
JLabel label = new JLabel(strMsg);//用label放置消息体
label.setFont(f);
JOptionPane pane = new JOptionPane(label, JOptionPane.PLAIN_MESSAGE);
JDialog dialog = pane.createDialog(null, strTitle);
dialog.setResizable(false);
dialog.show();
System.exit(0);//退出当前线程
}
catch(Exception e) {
System.out.println("消息框信息显示出错,问题在" + e);
}
}
}
public class MainC {
public static boolean faint = false;
public static void main(String[] args) {
String strMsg = "消息提示行1,\n消息提示行2";
String strTitle = "Message come!";
applit mp = new applit(strTitle,strMsg);
mp.start();
}
}
肖尧19
2002-05-08
打赏
举报
回复
送分题啊,哈哈,准备给分吧。(JLable可以写HTML,而你的\n不行哦)
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class LabelTest
{
public static void main(String[] args)
{
JFrame frame=new JFrame("frame");
Container con=frame.getContentPane();
con.setLayout(new FlowLayout());
frame.setBounds(100,100,300,200);
JLabel label=new JLabel("<html><body><p>this is a test</p><br><p>faint faint</p><body></html>");
con.add(label);
frame.show();
}
}
gdsean
2002-05-08
打赏
举报
回复
JLabel label = new JLabel( "This is a test." +
+ System.getProperty("line.separator") + "faintfaint" );
高仿QQ界面
import javax.swing.
JLabel
; import javax.swing.JScrollPane; import javax.swing.JTextField; import javax.swing.JTextPane; import javax.swing.UIManager; import javax.swing.text.BadLocationException;...
java 记事本课程设计带源码和文档
3:对文件的格式操作,如自动
换行
,字体等; 4:帮助,包括帮助主题,关于。 1.3开发环境 Eclipse 2.系统总体设计 2.1 系统功能结构图 2.2系统文件结构图 2.3系统编辑结构图 2.4系统格式、帮助...
用java编写的记事本,基本功能都实现了啊!
"程序
名称
:\n JNotePad \n" + "程序设计:\n \n" + "简介:\n 一个简单的文字编辑器\n" + " 可作为验收Java的实现对象\n" + " 欢迎网友下载研究交流\n\n" + " /", "关于JNotePad", JOptionPane.DEFAULT_...
Java开发技术大全 电子版
Java开发技术大全 电子版 第1篇Java基础知识入门. 第1章Java的开发运行环境2 1.1Java的运行环境与...14.13.15“自动
换行
”菜单的响应代码570 14.13.16“查找…”菜单的响应代码570 14.13.17“设置字体…”菜单...
java
中
label设置
换行
符,java –
JLabel
.setText()
中
的
换行
符
当我使用
JLabel
.setText()时如何插入
换行
符?我试图使用Html,但似乎可以使它适用于setText,仅用于
jLabel
的初始声明最初声明
jlabel
时的方法是:label = new
JLabel
("Hello World!blahblahblah");我的代码:textString...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章