2

これまでのところ私はこれを持っています

public static void main(String[] args) {
        try {
            UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
            UIManager.getBorder("design");//change look and feel here?
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Nimbus isn't available");
        }
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                design GUI = new design();
                GUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                GUI.setVisible(true);
            }
        });
    }

メインのルックアンドフィールをニンバスにしようとしていますが、タイトルの境界線をウィンドウに変更します。

私の国境はこれです:

contentPanel.setBorder(new TitledBorder("Downloader"));

できますか?もしそうなら、誰かが私にどこを見ればいいのか教えてもらえますか?私は今とても混乱しています。:\

ありがとう。

4

3 に答える 3

2

私はそれをしました。UIの一部を作成してから、UIManager.setLookAndFeel()を呼び出してルックアンドフィールを変更してから、他の部分を作成する必要があります。それはハックのようなものです。

于 2011-01-16T20:20:17.567 に答える
0

aComponentが作成されると、電流LookAndFeelがそれを表示するために使用されますComponent

于 2013-08-25T01:27:13.567 に答える
0

私は遅れていることは知っていますが、誰かがこれを使用している可能性があると思います。これは、アプリにマルチルックアンドフィールを適用するために使用する一種のハックです。アイテムを開始する前に(書き込み前=新規... )。

try {
    for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
        if ("Windows".equals(info.getName())) {
            UIManager.setLookAndFeel(info.getClassName());
            break;
        }
    }
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException
    | UnsupportedLookAndFeelException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

次に、UIManagerのルックアンドフィールを、以下の例のように、これを実行する前にオンになっていたルックアンドフィールに戻します。

JButton test;
try {
    for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
        if ("Windows".equals(info.getName())) {
            UIManager.setLookAndFeel(info.getClassName());
            break;
        }
    }
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException
    | UnsupportedLookAndFeelException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
test = new JButton();
try {
    for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
        if ("Mwtal".equals(info.getName())) {
            UIManager.setLookAndFeel(info.getClassName());
            break;
        }
    }
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException
    | UnsupportedLookAndFeelException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

このように、ボタンテストのみがウィンドウのルックアンドフィールを持ち、残りはメタルのルックアンドフィールを持ちます。

このハックが誰かを助けることを願っています。

于 2018-08-18T06:07:28.190 に答える