1

我在我的 Windows 7-64 位机器上创建了一个 Swing 应用程序,现在正试图让它在运行 Redhat CentOS 的 Linux 机器上正常工作。代码如下:

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;

public class SwingExample implements Runnable {
    public void run() {
        // Create the window
        JFrame f = new JFrame ("Hello, World!");
        // Sets the behavior for when the window is closed
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // add a label and a button
        f.getContentPane().add(new JLabel("Hello, world!"));
        f.getContentPane().add(new JButton("Press me!"));
        // arrange the components inside the window
        f.pack();
        //By default, the window is not visible. Make it visible.
        f.setVisible(true);
    }

    public static void main(String[] args) {
        SwingExample se = new SwingExample();
        // Schedules the application to be run at the correct time in the event queue.
        SwingUtilities.invokeLater(se);
    }
}

在我的 windows 盒子上,通过 Eclipse 运行,这看起来不错。但是,当我在 Linux 机器上运行相同的代码时,如下所示:

在此处输入图像描述

如您所见,标题内的文本很好,但按钮的字体是倾斜的。任何人都知道如何解决这个问题?谢谢!

4

1 回答 1

2

您将这两个组件添加到CENTER框架的 defaultBorderLayout中。尝试添加一个到NORTH. 例如,

f.add(new JLabel("Hello, world!", JLabel.CENTER), BorderLayout.NORTH);
f.add(new JButton("Press me!"), BorderLayout.SOUTH);
于 2012-08-15T02:25:43.713 回答