Metin metninin hizalamasını değiştirmek için JTextArea kullanamazsınız.
Tek tek satırların niteliklerini değiştirmek için en kolay yol bir JTextPane
kullanmaktır. arasında
JTextPane textPane = new JTextPane();
StyledDocument doc = textPane.getStyledDocument();
SimpleAttributeSet left = new SimpleAttributeSet();
StyleConstants.setAlignment(left, StyleConstants.ALIGN_LEFT);
StyleConstants.setForeground(left, Color.RED);
SimpleAttributeSet right = new SimpleAttributeSet();
StyleConstants.setAlignment(right, StyleConstants.ALIGN_RIGHT);
StyleConstants.setForeground(right, Color.BLUE);
try
{
doc.insertString(doc.getLength(), "\nLeft aligned text.", left);
doc.setParagraphAttributes(doc.getLength(), 1, left, false);
doc.insertString(doc.getLength(), "\nRight aligned text.", right);
doc.setParagraphAttributes(doc.getLength(), 1, right, false);
doc.insertString(doc.getLength(), "\nMore left aligned text.", left);
doc.setParagraphAttributes(doc.getLength(), 1, left, false);
doc.insertString(doc.getLength(), "\nMore right aligned text.", right);
doc.setParagraphAttributes(doc.getLength(), 1, right, false);
}
catch(Exception e) {}
Olası yinelenen: Böyle bir şey http://stackoverflow.com/questions/24315757/java-align-jtextarea-to-the-right – KevinO
@KevinO O denedim ama çalışmıyor. "Append (String)" yöntemini kullanıyorum olabilir mi? –
Sonuçlarınıza ulaşmaya çalıştığınız konusunda tam olarak yeterli bilgi bulunmuyor. Sorunu açık bir şekilde ortaya koyan ve beklentileri ve hataları açık bir şekilde açıklayan özlü kodu paylaşmanız gerekir. Ancak, noktanız aynı metin alanında sol ve sağa metin hizalamaya çalıştığınız olsaydı, yanıt dizesini sağa yaslanacak şekilde biçimlendirmeniz gerekir. Apache Commons'ın yardım etmek için yardımcıları vardır. Kişisel olarak bir JScrollPane kullanıp, konuşmanın her parçası için yeni Widget'lar ekleyebilirim, bazıları haklı, bazı haklı haklı. – KevinO