当前位置: 首页 > 面试题库 >

JMenuItem的工具提示

万俟浩
2023-03-14
问题内容

我向这样的工具栏添加菜单:

    JMenuBar menu = new JMenuBar();
    JMenu actions = new JMenu("Aktionen");
    Icon menuIcon = ImageUtilities.loadImageIcon("pathToIcon", true);
    actions.setIcon(menuIcon);

    // Add
    JMenuItem addItem = new JMenuItem("Add");       
    Icon addIcon = ImageUtilities.loadImageIcon("pathToIcon", true);
    addItem.setIcon(addIcon);
    addItem.setToolTipText("Add new Item");
    addItem.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            AddItemAction someAction = new AddItemAction();
            someAction.actionPerformed(new ActionEvent(this, ActionEvent.ACTION_PERFORMED, null) {
                // Foo
            });
        }
    });

    menu.add(actions);
    actions.add(addItem);
    toolbar.addSeparator();
    toolbar.add(menu);

基本上,它工作正常。但是,它永远不会显示工具提示(“添加新项”)。有什么提示吗?

编辑:以防万一遇到相同问题的人偶然发现:这是L&F,正如我从一开始就应该怀疑的那样。它具有显示JMenuItems工具提示的属性;并且默认为false。


问题答案:

下面的sscce可以正常工作。如果您仍然有问题,请编辑问题,以包含显示您所描述问题的示例。

附录:我将添加menuJToolBar,它仍然可以工作,无论是停靠的还是自由浮动的。

import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JToolBar;

/** @see http://stackoverflow.com/a/14630345/230513 */
public class Test {

    private void display() {
        JFrame f = new JFrame("Test");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JMenuBar menu = new JMenuBar();
        JMenu actions = new JMenu("Aktionen");
        JMenuItem addItem = new JMenuItem("Add");
        addItem.setToolTipText("Add new Item");
        menu.add(actions);
        actions.add(addItem);
        JToolBar toolbar = new JToolBar("Tools");
        toolbar.add(menu);
        f.add(toolbar);
        f.pack();
        f.setLocationRelativeTo(null);
        f.setVisible(true);
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {
                new Test().display();
            }
        });
    }
}


 类似资料:
  • 介绍 (Introduction) JMenuItem类表示菜单中的实际项目。 菜单中的所有项都应该来自JMenuItem类或其子类之一。 默认情况下,它包含一个简单的标签菜单项。 Class 声明 (Class Declaration) 以下是javax.swing.JMenuItem类的声明 - public class JMenuItem extends AbstractButton

  • 我真的很喜欢这个CSS工具提示的解决方案,我自己也用过一段时间了。但是我遇到了一个我以前从未遇到过的问题,多个工具提示的内容相互重叠,我不确定如何最好地解决它。 提到的解决方案基于管理绝对定位工具提示内容的

  • 主要内容:用法,实例,选项,方法,实例,事件,实例当您想要描述一个链接的时候,提示工具(Tooltip)就显得非常有用。提示工具(Tooltip)插件是受 Jason Frame 写的 jQuery.tipsy 的启发。提示工具(Tooltip)插件做了很多改进,例如不需要依赖图像,而是改用 CSS 实现动画效果,用 data 属性存储标题信息。 如果您想要单独引用该插件的功能,那么您需要引用 tooltip.js。或者,正如 Bootstrap

  • 使用指南 引入方式 import { Tips } from 'feart'; components: { 'fe-tip': Tips, } 代码示例 普通 tips <fe-tips :placement="'topLeft'" :content="'我是content'"> <button class="tips-test-btn">topLeft</button> <

  • jQueryUI的工具提示小部件取代了原生工具提示。 此小部件添加新主题并允许自定义。 首先让我们了解一下工具提示是什么? 工具提示可以附加到任何元素。 要显示工具提示,只需将title属性添加到输入元素,title属性值将用作工具提示。 使用鼠标悬停元素时,title属性将显示在元素旁边的小框中。 jQueryUI提供了tooltip()方法,可以将工具提示添加到要显示工具提示的任何元素。 与仅

  • Documentation and examples for adding custom tooltips with CSS and C using data-attributes for local title storage. Examples Hover over the buttons below to see the four tooltips directions: top, righ