Java输入对话框工具提示和粘贴选项?

时间:2013-04-07 19:15:01

标签: java swing tooltip textfield joptionpane

在Java中有一种很好的方法可以为输入对话框的文本字段设置工具提示吗?

例如:

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

是否也可以为此文本字段选择右键粘贴选项?

提前谢谢!

1 个答案:

答案 0 :(得分: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();
    }
}

默认情况下,右键单击并粘贴。