Java 使用键盘(箭头、选项卡)JRibbon导航
如何使用flamingo Jribbon组件中的箭头导航?早期版本中的作者说他将修复这个问题,但我不确定它是否仍然被修复,因为我无法使用箭头导航菜单。我正在使用flamingo 7.3版本 谢谢你的帮助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
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。谢谢你的帮助,顺便说一句。嗯,事实上,把你关于这个问题的代码贴出来,我想我也许能帮你解决。。。