Słabo widoczne polskie znaki.

0

Macie jakiś sposób na poprawienie widoczności polskich znaków? Używamy w pracy swinga i w textfieldach bardzo słabo widać np. 'Ę', 'Ą'.

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);
    }
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1