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フレームのデフォルトの に両方のコンポーネントを追加していますBorderLayout。に 1 つ追加してみてください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 に答える