Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JToolbar和JMenu中大小不同的动作图标_Java_Swing_Action_Jmenu - Fatal编程技术网

Java JToolbar和JMenu中大小不同的动作图标

Java JToolbar和JMenu中大小不同的动作图标,java,swing,action,jmenu,Java,Swing,Action,Jmenu,我创建了actions manager,用于创建和获取操作。我正在向tollbar JToolbar和菜单JMenu添加操作。问题在于图标的大小。我需要不同大小的菜单图标,和更大的工具栏 我找到了一个解决方案,在收费站图标创建后调整其大小: for (int i=0; i<mainToolbar.getComponents().length; i++) { try { JButton b = (JButton) mainToolbar.getComp

我创建了actions manager,用于创建和获取操作。我正在向tollbar JToolbar和菜单JMenu添加操作。问题在于图标的大小。我需要不同大小的菜单图标,和更大的工具栏

我找到了一个解决方案,在收费站图标创建后调整其大小:

for (int i=0; i<mainToolbar.getComponents().length; i++) {
    try {
                JButton b = (JButton) mainToolbar.getComponent(i);

                ImageIcon ii    = (ImageIcon)b.getIcon();
                Image im        = ii.getImage().getScaledInstance(32, 32, 0);
                b.setIcon(new ImageIcon(im));

            } catch (ClassCastException ex) {}
        }
问题是,我需要更小的图标来显示菜单,所以如果我用16px大小的图标创建动作,然后用这种方式将其调整到32px,图标质量就会崩溃。当我尝试对JMenu方法执行相同操作时,getComponentCount返回0,所以我无法使菜单项JMenuItem调整图标大小


问题是如何从JMenu中获取菜单项JMenuItem,该菜单项是通过操作自动创建的?

发布SSCCE/MCVE,在那里您可以使用UIManager.GetIConOptions Pane.errorIcon/informationIcon/warningIcon/questionIcon使用内置图标;如图所示。