Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 突出显示阿拉伯元音_Java_Html_Fonts_Colors_Arabic - Fatal编程技术网

Java 突出显示阿拉伯元音

Java 突出显示阿拉伯元音,java,html,fonts,colors,arabic,Java,Html,Fonts,Colors,Arabic,下面是我试图突出显示Java中阿拉伯语元音的代码: import java.awt.*; import java.io.File; import javax.swing.*; public class JavaApplication1 { public static void main(String[] args) throws FontFormatException { JFrame frame = new JFrame("Arabic Test");

下面是我试图突出显示Java中阿拉伯语元音的代码:

import java.awt.*;
import java.io.File;
import javax.swing.*;

public class JavaApplication1 {

    public static void main(String[] args) throws FontFormatException {
        JFrame frame = new JFrame("Arabic Test");
        JPanel panel = new JPanel();
        JButton button1 = new JButton("");
        JButton button2 = new JButton("");
        Font arabicFont = new Font("Arabic Typesetting", Font.TRUETYPE_FONT, 60);

        button1.setText("تَّ");
        button2.setText("<html>ت<font color='red'>َّ</font></html>");
        button1.setFont(arabicFont);
        button2.setFont(arabicFont);
        panel.add(button1);
        panel.add(button2);
        frame.setVisible(true);
        frame.setResizable(false);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setContentPane(panel);
        frame.pack();
    }
}
import java.awt.*;
导入java.io.File;
导入javax.swing.*;
公共类JavaApplication1{
公共静态void main(字符串[]args)引发FontFormatException{
JFrame=新JFrame(“阿拉伯语测试”);
JPanel面板=新的JPanel();
JButton button1=新JButton(“”);
JButton button2=新JButton(“”);
字体arabicFont=新字体(“阿拉伯语排版”,Font.TRUETYPE_Font,60);
按钮1.setText(“تَّ”);
按钮2.setText(“تَّ”);
按钮1.设置字体(阿拉伯字体);
按钮2.设置字体(arabicFont);
面板。添加(按钮1);
面板。添加(按钮2);
frame.setVisible(true);
frame.setresizeable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(面板);
frame.pack();
}
}
当我尝试使用HTML标记为阿拉伯语元音着色时,元音会变得不对齐且无用(参见上面的示例)。除了突出显示这些元音,还有其他选择吗?

如果将“تَّ”作为一个字形,它只能有一种颜色。这意味着您需要将基本字形(ت)与红色元音(َّ)分开,并手动定位它们

当您在JAVA中使用HTML时,我假设您可以使用所有CSS样式的命令。这是HTML/CSS中的一种方法,希望能为您提供一种解决方案:

<span>
    <span style="position:absolute;">ت</span>
    <span style="color:red; position:absolute;">َّ</span>
</span>

ت
َّ
试试这个:

     <head>
       <style>
         body{
           font-size:2em;
           direction:rtl;}
       </style>
       <meta charset="UTF-8">
    </head>


     <span>ب&zwj;<span style="color:red;">ٌ</span>&zwj;ا</span>

身体{
字号:2em;
方向:rtl;}
ب&zwj;ٌ&zwj;ا

有人能帮忙吗?我尝试过不同的字体,但没有效果。不幸的是,JavaSwing不支持CSS:(Swing中应该有一种方法来实现“重叠”css在这里实现的效果。你能把一个按钮标签直接放在另一个按钮标签上吗?这就是我现在正在做的,但我想使用两种以上的颜色。找到正确的重叠被证明是相当困难的。你实际需要多少种颜色,以及字形的哪些元素?我尝试使用4种颜色。我希望我能向你展示图片:S