Кнопка без подсказки делает черную точку - PullRequest
2 голосов
/ 30 мая 2011

Когда мышь вводит любую кнопку без всплывающей подсказки, появляется черная точка (как угол подсказки). Это действительно странно, и я не знаю, что с этим делать: / Я сгенерировал свой проект с помощью netbeans -> java desktop application. Я никогда не устанавливал toolTipText в этих кнопках, поэтому они по умолчанию пусты. Есть идеи?

редактирование: Когда я писал, что оно пустое, я имею в виду, что в свойствах подсказки JButton ничего нет. Сгенерированный код:

lottery.setAction(actionMap.get("lotteryStart")); // NOI18N
lottery.setText(resourceMap.getString("lottery.text")); // NOI18N
lottery.setName("lottery"); // NOI18N

programView.properties:

lottery.text=Start

Ответы [ 3 ]

5 голосов
/ 30 мая 2011

Не используйте NetBeans для генерации кода. Таким образом, вы знаете, что делает весь код, и можете вносить изменения в случае возникновения проблем.

Значением по умолчанию должно быть null, а не "" (пустая строка).

Опубликуйте SSCCE , который демонстрирует проблему.

2 голосов
/ 30 мая 2011

Я согласен с @jfpoilpret, проблема не связана с NetBeans. Проблема в том, что всплывающая подсказка не является, как сказал @camickr, значением по умолчанию, то есть null. Вы должны установить его на "" пустую строку где-нибудь. Установите в ноль, и проблема будет решена.

Пример кода ниже представляет проблему. Одна кнопка имеет всплывающую подсказку null (поскольку println доказывает, что это кнопка по умолчанию), а другая - "" (пустая строка).

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class ToolTipTest
{
    public static void main(String[] args)
    {
        SwingUtilities.invokeLater(new Runnable()
        {
            @Override
            public void run()
            {               
                JPanel p = new JPanel();
                JButton b1 = new JButton("My tooltip is null");
                System.out.println("default tooltip is b1.getToolTipText()="+b1.getToolTipText());
                b1.setToolTipText(null);
                p.add(b1);
                JButton b2 = new JButton("My tooltip is\"\"");
                b2.setToolTipText("");
                p.add(b2);
                JFrame f = new JFrame();
                f.setContentPane(p);
                f.setSize(400, 300);
                f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                f.setVisible(true);
            }
        });
    }
}
0 голосов
/ 02 мая 2019

Это старая, но на самом деле проблема с NetBeans, и должна быть исправлена.Тем не менее, не исправлено.

Netbeans продолжает устанавливать всплывающие подсказки "" вместо нуля.Даже если в тексте для них задано значение NULL, в следующий раз, когда будет открыт дизайн пользовательского интерфейса netbeans, он снова установит для них значение "".

...