0

Java で入力ダイアログのテキストフィールドにツールチップを設定する良い方法はありますか?

例えば:

String input = JOptionPane.showInputDialog("Enter input:");

このテキストフィールドに右クリックで貼り付けオプションを設定することもできますか?

前もって感謝します!

4

1 に答える 1

2

その静的メソッドを介してツールチップを追加することはできないと思います。独自の JOptionPane インスタンスを作成し、JTextField を見つけてツールチップを設定することをお勧めします。

public class Main {

    public static List<Component> getAllComponents(final Container c) {
        Component[] comps = c.getComponents();
        List<Component> compList = new ArrayList<Component>();
        for (Component comp : comps) {
            compList.add(comp);
            if (comp instanceof Container)
                compList.addAll(getAllComponents((Container) comp));
        }
        return compList;
    }

    public static void main(String[] args) {
        JOptionPane optionPane = new JOptionPane();
        optionPane.setMessage("What's your name?");
        optionPane.setMessageType(JOptionPane.QUESTION_MESSAGE);
        optionPane.setWantsInput(true);
        JDialog dialog = optionPane.createDialog("Simple Question");
        for (Component c : getAllComponents(dialog)) {
         if (c instanceof JTextField) {
             c.setToolTipText("I'm a tooltip!");
         }
        }
        dialog.setVisible(true);
        dialog.dispose();
    }
}

右クリックと貼り付けはデフォルトで機能します。

于 2013-04-07T20:46:54.097 に答える