gpt4 book ai didi

java - JOptionPane 焦点隐藏

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:51:22 27 4
gpt4 key购买 nike

Object[] options = {"questions", "list"};

Object selection = JOptionPane.showOptionDialog(Main.mWindow, "newDocText", "newDoc",
JOptionPane.OK_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[0]);

我使用上面的代码创建了一个JOptionPane

焦点画在主要选择的选项上,但我想完全隐藏它。这可能吗?

最佳答案

对我来说,David Kroukamp 的回答仍然导致第一个按钮获得焦点,可能是因为必须始终有一个具有焦点的组件。以下代码显式地将焦点赋予 JLabel:

    JLabel message = new JLabel("newDocText");
final JOptionPane pane = new JOptionPane(message, JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_OPTION, null, options);
JDialog dialog = pane.createDialog(f, "newDoc");
message.requestFocus();
dialog.setVisible(true);
Object selection = pane.getValue();

编辑:如果只有焦点的绘画有问题,您可以在调用 setFocusPainted(false) 之后将 JButton 传递给 JOptionPane。你可以这样做:

    JButton questionsButton = new JButton("questions");
JButton listButton = new JButton("list");
questionsButton.setFocusPainted(false);
listButton.setFocusPainted(false);
Object[] options = {questionsButton, listButton};

但在这种情况下,您需要自己设置对话框的关闭。我认为这是更复杂的解决方案。

关于java - JOptionPane 焦点隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12283176/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com