我正在尝试使用JButton作为JComboBox中的编辑器。在MacOSX上这看起来不错,但在使用系统外观的Windows上,JButton编辑器和组合按钮本身之间存在一个难看的差距:这是用于生成对话框的测试代码:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassButtonEditorTestimplementsRunnable{String[]items={"One","Two","Three"};ComboBoxModelmodel;ButtonEditorTest(){//ourmod
我正在编写一个使用本地系统外观的Java应用程序。在程序中有一个ListCellRenderer,它呈现彩色点(自定义JComponment),然后是给定对象的一些文本。这在使用Swing的默认Metal外观和感觉时效果很好。但是,当我使用WindowsLookandFeel时,单元格在下拉列表中正确呈现,但所选项目(当用户没有选择其他选项时显示的项目)仅呈现文本并忽略彩色点。如果我更改渲染器以设置字体,则会在下拉列表和所选项目中观察到正确的字体,因此我知道正在使用单元格渲染器,至少是部分使用。我已经在网络上阅读了一些关于不同的LAF导致此类问题的帖子,但还没有遇到任何人在讨论我的特定
当我在Windows7上使用JComboBox时,四个角各有一个像素与父组件的背景颜色不匹配。在Windows8中不会发生此问题(尽管这可能是因为在Windows8中,JComboBox呈现为完美的矩形)。它也不会发生在OSX上。如何使角像素让父组件的背景色通过?这是显示问题的图像:这是我正在使用的独立代码示例:importcom.sun.java.swing.plaf.windows.WindowsLookAndFeel;importjavax.swing.*;importjava.awt.*;publicclassMain{publicstaticvoidmain(String[]
如何使JComboBox的“下拉”(或“弹出”,我不知道它是怎么叫的)在屏幕上变高?默认情况下,当我打开JComboBox时,我看到29个项目中的7个,然后我需要滚动。我应该怎么做才能看到这32个项目中的15个?(或者,如果下拉菜单的高度为150像素,我如何才能将其设为300像素?)我已经阅读了关于JComboBox和JavaDoc的Sun教程,但我一定是忽略了要调用的方法。 最佳答案 您正在寻找setMaximumRowCount方法。JComboBoxtutorial有一些示例代码展示了它的实际效果。
我正在使用auto-completedecoratorintheswingxlibrary:AutoCompleteDecorator.decorate(myComboBox);这很甜蜜。但是,它仅从键入文本的开头向前搜索。因此,如果我的组合包含:[Apple,Banana,Grape,Orange]在“严格”模式下输入“an”将不会显示任何结果。在非严格模式下也不会搜索任何内容。我希望它与“Banana”和“Orange”相匹配,因为这两个项目都包含我输入的文本。是否有支持此类功能的自动完成库?我认为战略方法在这里最有效,但我没有找到任何适用的方法。我愿意扩展现有功能-只要我不重新发
我有:classCustomerActionListenerimplementsActionListener{@OverridepublicvoidactionPerformed(ActionEventevent){JComboBoxcb=(JComboBox)event.getSource();..dosomething}}这导致在jdk7中出现以下编译器警告:JComboBox是原始类型。对泛型JComboBox的引用应该被参数化我试图将其参数化为:JComboBoxcb=(JComboBox)event.getSource();但这仍然会留下以下编译器警告:类型安全:未经检查的从
您好,如果您将JComboBox放入JTable并将String[]数组放入JComboBox,则一切正常。Buf如果您将自己的数据类型放入JComboBox,则在同一列中选择值会变得很复杂。这是officialexample.尝试更改以下部分:JComboBoxcomboBox=newJComboBox();comboBox.addItem("Snowboarding");comboBox.addItem("Rowing");comboBox.addItem("Knitting");comboBox.addItem("Speedreading");comboBox.addItem("
我正在尝试动态验证由JComboBox选择的项目,并且我想在验证不正确的情况下取消选择更改。有什么办法可以实现吗?privateItemListeneritemListener=newItemListener(){@OverridepublicvoiditemStateChanged(ItemEvente){if(e.getStateChange()==ItemEvent.SELECTED){if(true)CANCEL_CHANGE;}}};我尝试定义一个包含旧值的var,取消注册监听器,并手动选择到以前的状态,但是第一次更改时出现问题,因为var未初始化并且无法保留原始值.我也尝试
我正在使用SwingXAutoCompleteDecorator用于JComboBox。自动完成功能效果很好......但我无法确定最终用户选择的时刻;很少保留我的数据。让我试着解释一下:组合框会为每个选择触发一个“comboBoxChanged”-ActionEvent。当用户输入字符并且组合框自动匹配和选择项目时,我必须忽略这些事件。如果用户按下返回键,则会生成“comboBoxEdited”-ActionEvent,我可以保存所选值。太棒了;-)如果鼠标用于打开JComboBox-PopUp并选择一个项目,则唯一触发的事件是“comboBoxChanged”-ActionEven
有没有一种好的(简单的)方法可以使JCombobox看起来像JTextField?我的意思是不应该有下拉按钮,但是当用户输入内容时它应该显示多个结果。基本上与google、youtube、facebook等的工作方式相同。 最佳答案 JComboBoxcomboBox=newJComboBox();comboBox.setUI(newBasicComboBoxUI(){@OverrideprotectedJButtoncreateArrowButton(){returnnewJButton(){@Overridepublicintg