3

私はオンラインであらゆる場所を見てきましたが、この小さな問題に対する答えは見つかりませんでした。Windows 7 (および Vista の場合) では、丸みを帯びた銀色のツールチップが表示されます。これは、古い黄色の箱入りの安っぽいツールチップよりもはるかに優れています。以下の「Java で Windows 7 ツールチップを作成する方法 - スタック オーバーフロー」のヒントは、その表示方法です。

ここに画像の説明を入力

Java では、まさにそれを行いたいと思います。素敵な新しい Windows ツールチップを作成します。問題は、方法がわからないことです。

次の単純なコードの外には、このクラス 'Tooltip' のオブジェクトを単純に作成する main メソッドがあります。

import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

public class Tooltip extends JFrame {
public Tooltip() {

    try {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) {
        e.printStackTrace();
    }

    setLayout(new FlowLayout());

    JButton button = new JButton("Tooltip Button");
    button.setToolTipText("Tooltip");
    add(button);

    setVisible(true);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setSize(250, 160);
    }
}

try/multi catch でわかるように、プログラムが現在実行されているオペレーティング システムにルック アンド フィールを設定しました。このプログラムを Windows で実行すると、黄色いツールチップが表示されます。

では、プログラムが Windows オペレーティング システムで実行されている場合に、素敵なシルバー ツールチップが表示されるようにするには、コードにどのような変更を加える必要があるのでしょうか?

4

1 に答える 1

3

JWindowプレビューウィンドウに対する私の回答のように、これには a に基づくコンポーネントを使用する必要がある場合があります (開いているアプリケーションに対して Windows 7 タスクバーが表示するように)

丸みを帯びた角については、How to Create Translucent and Shaped Windows を参照してください。

成形窓

わずかなグラデーション (目を細める) の場合は、 を使用して BG をペイントしGradientPaintます。

ツールチップは、リンクされた単純な例には含まれていない機能を提供します。しかし、それは出発点です。Windows 7 スタイルのツールチップを、Windows 7 以前のユーザーや他の OS のユーザーに誤ってドロップしないようにしてください。「正方形/黄色の BG」ツールチップが衝突するのと同じように、衝突するスタイルが「きれい」であるとは思われません。につながる..


効果を実現する最善の方法は、 The Synth Look and Feelに基づくカスタム PLAF を使用することです。

カスタムのルック アンド フィールを作成したり、既存のものを変更したりするのは、大変な作業です。このjavax.swing.plaf.synthパッケージを使用すると、はるかに少ない労力でカスタムのルック アンド フィールを作成できます。Synth のルック アンド フィールは、プログラムによって、または外部 XML ファイルを使用して作成できます。

于 2012-06-23T06:41:57.433 に答える