JLabel中的折行必须使用html代码,其他的都没有作用.我举一个例子好了:
JLabel lab = new JLabel() ;
lab.setText("html第一行显示br第二行显示/html") ;
简单的说,用html/html标记头尾,标记这里面的都是html代码,想在哪里换行就插入br
Java显示所有的Unicode 字符,代码主要是使用Java.awt.Graphics
的drawChars()方法,来绘出Unicode 字符.在设计符合国际化的程序过程当中,仅仅能够显示本地字符是不够的,只用Unicode
字符集才能够满足同时显示多国语言字符的需要.本实例实现了如何显示Unicode 字符的方法.
Java显示所有Unicode 字符编写方法:
①..编写UnicodeDisplay 类,该类继承了Jframe 类,实现了ActionListener
接口,该类是为了显示一个图形化的界面而实现的一个显示框架类,该类负责初始化显示窗口以及负责与用户交互,按照用户指定的字体以及风格改变
Unicode 的显示,代码如下:
//?导入所需要的Java?类库
import?javax.swing.*;
import?java.awt.*;
import?java.awt.event.*;
public?class?UnicodeDisplay?extends?JFrame?implements?ActionListener?{
int?page?=?0;
UnicodePanel?p;
JScrollBar?b;
String?fontfamily?=?"Serif";
int?fontstyle?=?Font.PLAIN;
/*构造函数,创建frame、菜单和滚动条*/
public?UnicodeDisplay(String?name)?{
super(name);
p?=?new?UnicodePanel();?//?创建panel
p.setBase((char)(page?*?0x100));?//?初始化panel
getContentPane().add(p,?"Center");?//?使其居中
//?Create?and?set?up?a?scrollbar,?and?put?it?on?the?right
b?=?new?JScrollBar(Scrollbar.VERTICAL,?0,?1,?0,?0xFF);
b.setUnitIncrement(1);
b.setBlockIncrement(0x10);
b.addAdjustmentListener(new?AdjustmentListener()?{
public?void?adjustmentValueChanged(AdjustmentEvent?e)?{
page?=?e.getValue();
p.setBase((char)(page?*?0x100));
}
});
getContentPane().add(b,?"East");
//?设置消息响应函数处理关闭窗口请求
this.addWindowListener(new?WindowAdapter()?{
public?void?windowClosing(WindowEvent?e)?{?System.exit(0);?}
//?响应PageUP、PageDown、Up?和Down?按键
this.addKeyListener(new?KeyAdapter()?{
public?void?keyPressed(KeyEvent?e)?{
int?code?=?e.getKeyCode();
int?oldpage?=?page;
if?((code?==?KeyEvent.VK_PAGE_UP)?||
(code?==?KeyEvent.VK_UP))?{
if?(e.isShiftDown())?page?-=?0x10;
else?page?-=?1;
if?(page?0)?page?=?0;
else?if?((code?==?KeyEvent.VK_PAGE_DOWN)?||
(code?==?KeyEvent.VK_DOWN))?{
if?(e.isShiftDown())?page?+=?0x10;
else?page?+=?1;
if?(page?0xff)?page?=?0xff;
if?(page?!=?oldpage)?{?//如果改变了当前显示页
p.setBase((char)?(page?*?0x100));?//?更新显示
b.setValue(page);?//?更新滚动条
//?建立可以改变显示字体的菜单.
JMenuBar?menubar?=?new?JMenuBar();
this.setJMenuBar(menubar);
menubar.add(makemenu("Font?Family",
new?String[]?{"Serif",?"SansSerif",?"Monospaced"},
this));
menubar.add(makemenu("Font?Style",
new?String[]{
"Plain","Italic","Bold","BoldItalic"
},?this));
public?void?actionPerformed(ActionEvent?e)?{
String?cmd?=?e.getActionCommand();
if?(cmd.equals("Serif"))?fontfamily?=?"Serif";
else?if?(cmd.equals("SansSerif"))?fontfamily?=?"SansSerif";
else?if?(cmd.equals("Monospaced"))?fontfamily?=?"Monospaced";
else?if?(cmd.equals("Plain"))?fontstyle?=?Font.PLAIN;
else?if?(cmd.equals("Italic"))?fontstyle?=?Font.ITALIC;
else?if?(cmd.equals("Bold"))?fontstyle?=?Font.BOLD;
else?if?(cmd.equals("BoldItalic"))?fontstyle?=?Font.BOLD?+?Font.ITALIC;
p.setFont(fontfamily,?fontstyle);
private?Jmenu?makemenu(String?name,?String[]?itemnames,
ActionListener?listener)
{
Jmenu?m?=?new?Jmenu(name);
for(int?I?=?0;?I?itemnames.length;?I++)?{
JmenuItem?item?=?new?JmenuItem(itemnames[I]);
item.addActionListener(listener);
item.setActionCommand(itemnames[I]);
m.add(item);
return?m;
public?static?class?UnicodePanel?extends?JComponent?{
protected?char?base;?//?指定我们显示的初始值
/**?指定开始显示的初始字符并且刷新Panel?*/
public?void?setBase(char?base)?{
this.base?=?base;
repaint();
/**设定显示所用的新字体或者风格并且刷新Panel?*/
public?void?setFont(String?family,?int?style)?{
/**?绘出字符表的一页?*/
public?void?paintComponent(Graphics?g)?{
int?start?=?(int)base?0xFFF0;?//?设置起始显示字符
//?使用给定字体显示表头
g.setFont(headingfont);
//?在顶端绘出0..F
//?绘出左边表头.
g.drawString(s,?10,?y0+i*lineheight);
//?绘出Unicode?字符
g.setFont(font);
char[]?c?=?new?char[1];
g.drawChars(c,?0,?1,?x0?+?i*charspacing,?y0+j*lineheight);
/**?返回给定的分辨率?*/
public?Dimension?getPreferredSize()?{
以上就是土嘎嘎小编为大家整理的java显示字的代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!