Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Swing按钮文本显示不同_Java_Swing_Fonts - Fatal编程技术网

Java Swing按钮文本显示不同

Java Swing按钮文本显示不同,java,swing,fonts,Java,Swing,Fonts,我是Java初学者,正在学习Java Swing。运行时按钮的文本看起来不可读,如图所示。我已经尝试通过以下代码行更改字体。我在Windows 10 64位操作系统上工作 import javax.swing.*; import java.awt.*; public class Button1 { public static void main(String[] args) { Button1 gui = new Button1(); gui.go()

我是Java初学者,正在学习Java Swing。运行时按钮的文本看起来不可读,如图所示。我已经尝试通过以下代码行更改字体。我在Windows 10 64位操作系统上工作

import javax.swing.*;
import java.awt.*;

public class Button1 {

    public static void main(String[] args) {
        Button1 gui = new Button1();
        gui.go();
    }

    public void go(){
        JFrame frame = new JFrame();
        JButton east = new JButton(" East");
        JButton west = new JButton(" West");
        JButton north = new JButton(" North");
        JButton south = new JButton(" South");
        JButton center = new JButton(" Center");

        frame.getContentPane(). add( BorderLayout.EAST, east);
        frame.getContentPane(). add( BorderLayout.WEST, west);
        frame.getContentPane(). add( BorderLayout.NORTH, north);
        frame.getContentPane(). add( BorderLayout.SOUTH, south);
        frame.getContentPane(). add( BorderLayout.CENTER, center);



        Font bigFont = new Font("serif", Font.BOLD , 10);
        east.setFont(bigFont);
        west.setFont(bigFont);
        north.setFont(bigFont);
        south.setFont(bigFont);
        center.setFont(bigFont);
        frame.setSize(300,300);
        frame.setVisible(true);
    }
}

你的代码在我的机器上正常工作


我冒昧地猜测,问题在于字体。您的操作系统可能不理解它,因此它会按屏幕截图中的方式呈现。我会尝试一些其他字体,或者查看您的机器上有哪些可用字体。

因此,如果不设置字体,一切正常?试试新字体(Font.SERIF,Font.BOLD,10);`。(区别是大写的“衬线”。)可能您的衬线字体已损坏。我已经开始了你的例子,一切都很好。如果你不设置字体呢?那么它是正确的吗?检查:一个简短的程序,列出了你的机器上的字体,看看是否支持“衬线”。注意,在我的机器上显示“衬线”。不知道大写字母是否重要。