Java 使用键盘(箭头、选项卡)JRibbon导航

Java 使用键盘(箭头、选项卡)JRibbon导航,java,radiance-flamingo,Java,Radiance Flamingo,如何使用flamingo Jribbon组件中的箭头导航?早期版本中的作者说他将修复这个问题,但我不确定它是否仍然被修复,因为我无法使用箭头导航菜单。我正在使用flamingo 7.3版本 谢谢你的帮助 import java.awt.Dimension; import java.util.Arrays; import java.util.List; import javax.swing.SwingUtilities; import org.pushi

如何使用flamingo Jribbon组件中的箭头导航?早期版本中的作者说他将修复这个问题,但我不确定它是否仍然被修复,因为我无法使用箭头导航菜单。我正在使用flamingo 7.3版本

谢谢你的帮助

    import java.awt.Dimension;
    import java.util.Arrays;
    import java.util.List;

    import javax.swing.SwingUtilities;

    import org.pushingpixels.flamingo.api.common.JCommandButton;
    import org.pushingpixels.flamingo.api.common.icon.ImageWrapperResizableIcon;
    import org.pushingpixels.flamingo.api.common.icon.ResizableIcon;
    import org.pushingpixels.flamingo.api.ribbon.JRibbonBand;
    import org.pushingpixels.flamingo.api.ribbon.JRibbonFrame;
    import org.pushingpixels.flamingo.api.ribbon.RibbonElementPriority;
    import org.pushingpixels.flamingo.api.ribbon.RibbonTask;
    import org.pushingpixels.flamingo.api.ribbon.resize.CoreRibbonResizePolicies;
    import org.pushingpixels.flamingo.api.ribbon.resize.IconRibbonBandResizePolicy;

/**
 * Main Frame to demonstrate ribbon use.
 * 
 * @author <a href="http://blog.frankel.ch/">Nicolas Frankel</a>
 * @date 26 juin 2010
 * @version 1.0
 * 
 */
public class MainFrame extends JRibbonFrame {

    /** Serial version unique id. */
    private static final long serialVersionUID = 1L;

    public static ResizableIcon getResizableIconFromResource(String resource) {

        return ImageWrapperResizableIcon.getIcon(MainFrame.class.getClassLoader().getResource(resource), new Dimension(
                48, 48));
    }

    /**
     * Entry point method.
     * 
     * @param args
     *            Application arguments
     */
    public static void main(String[] args) {

        SwingUtilities.invokeLater(new Runnable() {

            @SuppressWarnings({ "unchecked", "rawtypes" })
            @Override
            public void run() {

                MainFrame frame = new MainFrame();

                frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
                frame.pack();
                frame.setVisible(true);

                JRibbonBand band1 = new JRibbonBand("Hello", null);
                JRibbonBand band2 = new JRibbonBand("world!", null);

                JCommandButton button1 = new JCommandButton("Square", null);
                JCommandButton button2 = new JCommandButton("Circle", null);
                JCommandButton button3 = new JCommandButton("Triangle", null);
                JCommandButton button4 = new JCommandButton("Star", null);

                band1.addCommandButton(button1, RibbonElementPriority.TOP);
                band1.addCommandButton(button2, RibbonElementPriority.MEDIUM);
                band1.addCommandButton(button3, RibbonElementPriority.MEDIUM);
                band1.addCommandButton(button4, RibbonElementPriority.MEDIUM);

                band1.setResizePolicies((List) Arrays.asList(new CoreRibbonResizePolicies.None(band1.getControlPanel())));
                band2.setResizePolicies((List) Arrays.asList(new IconRibbonBandResizePolicy(band2.getControlPanel())));

                RibbonTask task1 = new RibbonTask("One", band1);
                RibbonTask task2 = new RibbonTask("Two", band2);

                frame.getRibbon().addTask(task1);
                frame.getRibbon().addTask(task2);

            }
        });
    }
}
导入java.awt.Dimension;
导入java.util.array;
导入java.util.List;
导入javax.swing.SwingUtilities;
导入org.pushingpixels.flamingo.api.common.JCommandButton;
导入org.pushingpixels.flamingo.api.common.icon.ImageWrapperResizeableIcon;
导入org.pushingpixels.flamingo.api.common.icon.resizebalicon;
导入org.pushingpixels.flamingo.api.ribbon.JRibbonBand;
导入org.pushingpixels.flamingo.api.ribbon.JRibbonFrame;
导入org.pushingpixels.flamingo.api.ribbon.RibbonElementPriority;
导入org.pushingpixels.flamingo.api.ribbon.RibbonTask;
导入org.pushingpixels.flamingo.api.ribbon.resize.CoreRibbonResizePolicys;
导入org.pushingpixels.flamingo.api.ribbon.resize.IconRibbonBandResizePolicy;
/**
*用于演示功能区使用的主框架。
* 
*@作者
*@日期2010年6月26日
*@version 1.0
* 
*/
公共类大型机扩展了JRibbonFrame{
/**串行版本唯一id*/
私有静态最终长serialVersionUID=1L;
公共静态ResizebleCon GetResizebleConFromResource(字符串资源){
返回ImageWrapperResizeableIcon.getIcon(MainFrame.class.getClassLoader().getResource(resource),新维度(
48, 48));
}
/**
*入口点法。
* 
*@param args
*应用程序参数
*/
公共静态void main(字符串[]args){
SwingUtilities.invokeLater(新的Runnable(){
@SuppressWarnings({“unchecked”,“rawtypes”})
@凌驾
公开募捐{
大型机框架=新的大型机();
frame.setDefaultCloseOperation(关闭时退出);
frame.pack();
frame.setVisible(true);
JRIBBONBAND1=新的JRibbonBand(“你好”,空);
JRIBBONBAND2=新的JRibbonBand(“世界!”,null);
JCommandButton button1=新的JCommandButton(“方形”,null);
JCommandButton button2=新的JCommandButton(“圆圈”,null);
JCommandButton button3=新的JCommandButton(“三角形”,null);
JCommandButton button4=新的JCommandButton(“星形”,null);
band1.addCommandButton(按钮1,RibbonElementPriority.TOP);
band1.addCommandButton(按钮2,RibbonElementPriority.MEDIUM);
band1.addCommandButton(按钮3,RibbonElementPriority.MEDIUM);
band1.addCommandButton(按钮4,RibbonElementPriority.MEDIUM);
band1.setResizePolicys((List)Arrays.asList(新的CoreRibbonResizePolicys.None(band1.getControlPanel()));
band2.setResizePolicys((List)Arrays.asList(新的IconRibbonBandResizePolicy(band2.getControlPanel()));
RibbonTask task1=新RibbonTask(“一”,带1);
RibbonTask task2=新RibbonTask(“两个”,带2);
frame.getRibbon().addTask(task1);
frame.getRibbon().addTask(task2);
}
});
}
}

我相信你这里的问题几乎肯定是焦点问题,你看过最新版本吗?是的,我正在使用最新版本7.3。但我仍然无法通过箭头导航。我不确定我是否需要编写一些命令来激活该功能?老实说,你还得等作者一段时间。现在我确实知道它是开源的,你是否可以改变这一点我无法理解,但也许你有可能自己解决这个问题?我想我会让使用我的应用程序的人等待:D。谢谢你的帮助,顺便说一句。嗯,事实上,把你关于这个问题的代码贴出来,我想我也许能帮你解决。。。