这很奇怪 - 也许它有一个非常简单的解决方案,但到目前为止我花了两天时间!我在滚动窗格中有一个JList,我想要上下键入(和/或使用向上和向下箭头)。
我希望将光标定位在第一个条目上,并在显示JList时为其着色。我发现这样做的唯一方法是选择第一个条目,然后从单元格渲染器内部为JList请求焦点 - 在为所选行着色的代码中。
这样可行,但它会将滚动窗格下方的JTextField更改为不可编辑的。从单元格渲染器代码中删除请求焦点,JTextField再次变得可编辑 - 但是我必须单击JList以使用它上面的箭头或通过它选项卡。当然,我可能完全使用了错误的工具。非常感谢帮助...
我刚刚读到,一次只能有一个组件可以聚焦 - 但为什么setFocusable()+ requestFocusInWindow()不会将焦点更改为我需要的位置?我假设这就是为什么JTextField不可编辑,即使它是使用setEditable(true)设置的......?在使字段可对焦/可编辑之前是否还有其他要求?