Parece que Windows LookAndFeel nativo en Java 6 da un tamaño incorrecto a algunas fuentes.¿Por qué Windows LookAndFeel hace que las fuentes sean demasiado pequeñas?
Programa de prueba:
import java.awt.*;
import java.awt.event.KeyEvent;
import javax.swing.*;
public class Test {
public static void main(String[] arg) throws Exception {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch (Exception e) {
e.printStackTrace();
}
final JMenuBar mb = new JMenuBar();
final JMenu file = new JMenu("File");
file.setMnemonic(KeyEvent.VK_F);
mb.add(file);
final JToolBar toolbar = new JToolBar();
final JButton button = new JButton("Button");
toolbar.add(button);
final JLabel label = new JLabel("Basic Colors");
final JPanel panel = new JPanel(new BorderLayout());
panel.add(toolbar, BorderLayout.PAGE_START);
panel.add(label, BorderLayout.CENTER);
final JFrame frame = new JFrame();
frame.setJMenuBar(mb);
frame.add(panel);
frame.setTitle("Test");
frame.setSize(400,200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
de salida, en comparación con una aplicación nativa de Windows en Vista:
Si bien el texto en la barra de menú de la aplicación de pruebas tiene el tamaño correcto, el resto de el texto es más pequeño que en la aplicación nativa junto a él. El zoom, se puede ver que el texto en la aplicación de prueba JLabel es de 1 píxel más corto que en la aplicación nativa:
Es esto un error en las FAL de Windows, o estamos haciendo mal uso de ella? Si es un error, ¿hay una solución conocida?
Para mí, parece que Swing L & F usa una fuente diferente. –
+1 Pregunta bien preparada. –