Die Standardschriftart von JTextArea ist in Windows sehr klein

8

Ich benutze Plattform-Look-and-Fall und unter Linux ist meine JTextArea ziemlich gut lesbar Aber unter Windows verwendet es "Monospaced 9" und der Text ist sehr klein.

Warum und was ist der beste Weg, das zu beheben?

Warum verwendet Windows Look-and-Fall eine so kleine Schrift in JTextArea?

    
javapowered 23.06.2011, 22:46
quelle

6 Antworten

19

Anstatt eine neue Schriftart zu erstellen, ist es besser Vorhandene Schrift ableiten , weil Sie auf diese Weise die Schriftart nach Aussehen und Verhalten der Plattform speichern und Probleme mit Unicode-Zeichen vermeiden können:

%Vor%     
Denis Tulskiy 08.08.2011, 03:39
quelle
6

Hier ist eine Lösung, die Sie verwenden können, um alle JTextAreas auf einmal zu ändern, anstatt setFont () jedes Mal zu verwenden, wenn Sie einen neuen Textbereich hinzufügen:

%Vor%

Rufen Sie dies beim Start Ihrer Anwendung auf, nachdem Sie das Aussehen und Verhalten eingestellt haben.

Die meisten L & amp; Fs verwenden die gleiche Schriftart für JTextArea und JTextField, es ist merkwürdig, dass Windows das nicht tut.

    
Speedstone 23.08.2012 11:14
quelle
2

Wenn Sie ein konsistentes Aussehen wünschen, verwenden Sie statt des Betriebssystemstandards das Nimbus- oder Metal-Look and Feel. Dadurch können Sie auch Einstellungen ändern. Außerdem denke ich persönlich, dass das Nimbus Look and Feel viel glatter aussieht als die anderen.

    
jzd 24.06.2011 02:19
quelle
1

Sie können die Methode JTextArea1.setFont(Font(String name, int style, int size)) verwenden, um den spezifischen Schriftarttyp für eine JTextArea-Komponente anzugeben. Als Beispiel

jTextArea1.setFont(new Font("Arial Black", Font.BOLD, 8));


import java.awt.BorderLayout;
import java.awt.Font;
import javax.swing.JTextArea;
import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;

public class NewJFrame extends javax.swing.JFrame {
private JTextArea jTextArea1;
private JTextArea jTextArea2;

%Vor%

}

    
Rakesh 24.06.2011 08:46
quelle
0

Ich habe gerade TextField in TextArea ...

verwendet %Vor%     
javapowered 24.06.2011 13:12
quelle
0

Tu es einfach

textArea.setFont(new Font("Arial", Font.PLAIN, 16));

Dadurch wird der gesamte Text innerhalb des Textfelds in die gleiche Schriftgröße geändert.

    
user569322 08.08.2011 03:27
quelle