Macie jakiś sposób na poprawienie widoczności polskich znaków? Używamy w pracy swinga i w textfieldach bardzo słabo widać np. 'Ę', 'Ą'.
0
2
Może zmieńcie czcionkę (i "skórkę"). Ja używam "skórki" Nimbus i przy każdej czcionce obsługującej polskie litery, ogonki są dobrze widoczne.
Załączam programik do testowania czcionki.
import java.awt.*;
import javax.swing.*;
public class FontsList extends JFrame
{
JList<String> list;
private JLabel sampleLabel;
private JTextField sampleTextField;
private String[] fonts;
//-------------------------
public static void main(String[] args)
{
try
{
UIManager.LookAndFeelInfo[] skins = UIManager.getInstalledLookAndFeels();
for(int i=0;i<skins.length;i++)
{
if(skins[i].getName().equals("Nimbus"))
{
UIManager.setLookAndFeel(skins[i].getClassName());
}
}
}
catch(Exception e)
{}
new FontsList();
}
//------------------------
public FontsList()
{
setTitle("Dostępne fonty");
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
fonts = ge.getAvailableFontFamilyNames();
Font font = new Font(fonts[0], Font.PLAIN, 12);
setLayout(new BorderLayout());
add(new JLabel("Ilość dostępnych fontów: " + fonts.length,JLabel.CENTER),BorderLayout.NORTH);
String txt = "Test ąćęóśłżź ĄĆĘÓŚŁŻŹ";
list = new JList<String>(fonts);
list.setSelectedIndex(0);
list.addListSelectionListener(e -> changeFont());
add(new JScrollPane(list), BorderLayout.CENTER);
sampleLabel = new JLabel(txt, JLabel.CENTER);
sampleLabel.setFont(font);
add(sampleLabel, BorderLayout.NORTH);
sampleTextField = new JTextField(txt);
sampleTextField.setFont(font);
add(sampleTextField, BorderLayout.SOUTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(new Dimension(400,400));
setLocationRelativeTo(null);
setVisible(true);
}
//------------------------
private void changeFont()
{
Font font = new Font(fonts[list.getSelectedIndex()], Font.PLAIN, 12);
sampleLabel.setFont(font);
sampleTextField.setFont(font);
}
}