Java 使JLabel html内容从右向左
我想将JLabel的内容方向更改为从右向左。Java 使JLabel html内容从右向左,java,swing,alignment,jlabel,right-to-left,Java,Swing,Alignment,Jlabel,Right To Left,我想将JLabel的内容方向更改为从右向左。 Jlabel内容是HTML,我测试了所有这些内容(没有一个有效!): 我该怎么做 谢谢使用div元素设置文本的对齐方式和宽度: <html><div align=right width=100px>text</div></html> 文本 您的意思是标签dir=“rtl” 不能直接使用JLabel或JTextArea,基于 导入java.awt.ComponentOrientation; 导入jav
Jlabel内容是HTML,我测试了所有这些内容(没有一个有效!): 我该怎么做
谢谢使用
div
元素设置文本的对齐方式和宽度:
<html><div align=right width=100px>text</div></html>
文本
您的意思是标签dir=“rtl”
不能直接使用JLabel
或JTextArea
,基于
导入java.awt.ComponentOrientation;
导入java.awt.GridLayout;
导入javax.swing.JEditorPane;
导入javax.swing.JFrame;
导入javax.swing.JLabel;
导入javax.swing.JScrollPane;
导入javax.swing.JTextArea;
导入javax.swing.JTextPane;
导入javax.swing.UIManager;
公共类右向左{
公共静态void main(字符串[]args){
javax.swing.SwingUtilities.invokeLater(新的Runnable(){
公开募捐{
试一试{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}捕获(例外e){
e、 printStackTrace();
}
字符串str=(“测试”
+“希伯来语测试”
+“HTML表格”
+ " 1 2 3 "
+ "2 "
+ " "
+ "3 "
+ "4 "
+ " 5"
+ " "
+“6左”
+“对”;
JTextPane text=新的JTextPane();
text.setComponentOrientation(ComponentOrientation.RIGHT\u到\u LEFT);
setContentType(“text/html”);
text.setText(str);
JScrollPane=新的JScrollPane(文本);
JEditorPane text1=新的JEditorPane();
text1.setComponentOrientation(ComponentOrientation.从右到左);
text1.setContentType(“text/html”);
text1.setText(str);
JScrollPane pane1=新的JScrollPane(text1);
JLabel text2=新的JLabel();
text2.setComponentOrientation(ComponentOrientation.从右到左);
//text2.setContentType(“text/html”);//未实现
text2.setText(str);
JScrollPane pane2=新的JScrollPane(text2);
JTextArea text3=新的JTextArea();
text3.setComponentOrientation(ComponentOrientation.从右到左);
//text3.setContentType(“text/html”);//未实现
text3.setText(str);
JScrollPane pane3=新的JScrollPane(text3);
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame=新JFrame(“JFrame”);
frame.setComponentOrientation(ComponentOrientation.RIGHT\u至\u LEFT);
frame.setLayout(新网格布局(2,2,5,5));
框架。添加(窗格);
帧。添加(第1窗格);
框架。添加(第2窗格);
帧。添加(第3窗格);
//frame.pack();
框架。设置尺寸(400600);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
要将文本向右对齐还是将其更改为te文本从右向左读取?这是一个有趣的技巧。很遗憾,它不会总是给出正确的结果,例如,如果字符串末尾有标点符号。
<html><div align=right width=100px>text</div></html>
import java.awt.ComponentOrientation;
import java.awt.GridLayout;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextPane;
import javax.swing.UIManager;
public class RightToLeft {
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
String str =("<html > <head> <title>Test</title> <style> </style> </head> <body> <div align=right>"
+ " <p><b><font face=Arial color=#5078A8><span lang=he>Hebrew Test</span></font></b></p> "
+ "<p><span lang=he><font face=Arial size=2> HTML Table</font></span></p> <table dir =rtl "
+ "border=1 cellpadding=10 width=62% id=AutoNumber1 bordercolorlight=#FFFFFF bordercolordark=#FFFFFF> "
+ "<tr> <td width=28% valign=top bgcolor=#D0E4F8 class=cellclass><font face=Arial size=2 "
+ "color=#687C98><b>1 2 3</b></font></td><td width=72% valign=top bgcolor=#D0E4F8 dir=rtl> "
+ "<font face=Arial size=2><span lang=he>2</span></font></td> </tr> <tr> "
+ "<td width=28% valign=top bgcolor=#F8F8FF style=color #687C98><b> <font face=Arial size=2>"
+ "<span lang=he>3</span></font></b></td> <td width=72% align=right valign=top bgcolor=#F8F8FF> "
+ "<font face=Arial size=2><span lang=he>4</span></font></td> </tr> <tr> "
+ "<td width=28% valign=top bgcolor=#D0E4F8> <font face=Arial size=2 color=#687C98><b>5</b>"
+ "</font></td> <td width=72% align=right valign=top bgcolor=#D0E4F8> <font face=Arial size=2>"
+ "<span lang=he>6 </span></font></td> </tr> <tr> <td width=28%>LEFT </td> "
+ "<td width=72%>RIGHT </td> </tr> </table> </div> </body> </html> ");
JTextPane text = new JTextPane();
text.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
text.setContentType("text/html");
text.setText(str);
JScrollPane pane = new JScrollPane(text);
JEditorPane text1 = new JEditorPane();
text1.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
text1.setContentType("text/html");
text1.setText(str);
JScrollPane pane1 = new JScrollPane(text1);
JLabel text2 = new JLabel();
text2.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
//text2.setContentType("text/html"); // not implemented
text2.setText(str);
JScrollPane pane2 = new JScrollPane(text2);
JTextArea text3 = new JTextArea();
text3.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
//text3.setContentType("text/html"); // not implemented
text3.setText(str);
JScrollPane pane3 = new JScrollPane(text3);
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("العنوان بالعربي");
frame.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
frame.setLayout(new GridLayout(2,2,5,5));
frame.add(pane);
frame.add(pane1);
frame.add(pane2);
frame.add(pane3);
//frame.pack();
frame.setSize(400,600);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setVisible(true);
}
});
}
}