Caractères arabes dans TextArea
Bonjour,
Tout d'abord, je suis débutant en Java.
J'ai réalisé, sans trop de difficultés en Perl, une interface de gestion de cours d'arabe qui me donne satisfaction au bémol près que si je clique dans la zone qui affiche le texte arabe (ScrolledText), celui-ci est complètement désorganisé.
Visiblement le bug traîne depuis des lustres et ne sera pas corrigé dans un avenir proche.
http://www.developpez.net/forums/d11...scrolled-text/
Je fais quelques essais en Java pour voir ...
Là lorsque j'écris dans un TextArea avec un clavier arabe, de petits carrés remplacent les caractères arabes. Autrement dit, là encore les caractères codés sur plusieurs octets ne passent pas.
Voici le bout de code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ta_scroll{
private JFrame f; //Main frame
private JTextArea ta; // Text area
private JScrollPane sbrText; // Scroll pane for text area
private JButton btnQuit; // Quit Program
public ta_scroll(){ //Constructor
// Create Frame
f = new JFrame("Swing Demo");
f.getContentPane().setLayout(new FlowLayout());
// Create Scrolling Text Area in Swing
ta = new JTextArea("", 5, 20);
ta.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
// String Result = new String(ta.nextToken().getBytes("windows-1256"), "utf-8");
// String str = new String("ßã".getBytes(), "UTF-8");
Font font = new Font("Verdana", Font.BOLD, 18);
ta.setFont(font);
ta.setForeground(Color.BLUE);
ta.setLineWrap(true);
sbrText = new JScrollPane(ta);
sbrText.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
// Create Quit Button
btnQuit = new JButton("Quit");
btnQuit.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}
}
);
}
public void launchFrame(){ // Create Layout
// Add text area and button to frame
f.getContentPane().add(sbrText);
f.getContentPane().add(btnQuit);
// Close when the close button is clicked
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Display Frame
f.pack(); // Adjusts frame to size of components
f.setVisible(true);
}
public static void main(String args[]){
ta_scroll gui = new ta_scroll();
gui.launchFrame();
}
} |
Juste une question : Peut-on sans trop de difficultés gérer un texte en arabe en Java, dans un TextaArea ? Éventuellement dans un autre langage ?
Ça doit être possible, sur le web les pages de sites arabes s'affichent correctement.
Merci d'avance pour votre aide.
Le résultat en image :http://www.developpez.net/forums/att...1&d=1345022172