这两天用到JCombobox,之前一直是直接添加字符串值,但是这样显示出来太不友好,例如原本可以显示为“是”、“否”的,却显示为“0”、“1”。所以需要改变这种情况。网上搜了一下,有人扩展了一个KeyedComboboxModel,但是显示的还是value的值。
摸索了一下,可以直接将数据模型对象添加到DefaultComboBoxModel中。只需要注意两点:
1、在数据模型对象中覆盖一个toString方法,返回用于在JCombobox中作为显示的成员变量。
/* (non-Javadoc) * @see java.lang.Object#toString() */ @Override public String toString() { return name; }
2、在设置JCombobox选中项时用以下语句:
getJComboBoxJob().getModel().setSelectedItem(bean);
原因分析:
查看JComboBox类Line:543,在进行元素匹配时用的是equals,只对字符串元素有效。
if (anObject.equals(element)) {
而上面正确的用法则会直接将当前选中元素指针指向你传入的元素。见DefaultComboBoxModel类Line:87。
selectedObject = anObject;
相关推荐
- 可以通过 `setEditable(true)` 方法使 `JComboBox` 可编辑,允许用户输入自定义值。 - 使用 `setRenderer(Renderer)` 方法可以自定义选项的显示方式,`Renderer` 是一个实现了 `ListCellRenderer` 接口的对象。 ...
在 JComboBox 中,我们可以使用不同的构造函数来创建 JComboBox 组件,例如使用数组对象、Vector 对象、ComboBoxModel 等。JComboBox 还提供了多种方法来操作选项,例如 addItem、removeItem、insertItemAt 等。 ...
- `ActionListener`接口:要监听JComboBox的ActionEvent,我们需要为JComboBox添加一个ActionListener。通过实现`actionPerformed(ActionEvent e)`方法,我们可以定义当用户做出选择时执行的代码。 ```java ...
Java Swing JComboBox ...我们使用 JComboBox 的构造方法创建了一个 JComboBox 实例,并将其添加到 JPanel 中。然后,我们添加了一个 ItemListener 监听器,以便在用户选择了一个选项时打印出当前选中的索引和数据项。
通过以上内容的详细介绍,我们不仅了解了`JComboBox`的基本使用方法,还深入学习了如何获取下拉列表中的元素,以及如何对其进行更高级的定制化操作。这对于开发高质量的图形界面应用程序是非常有帮助的。
本文详细介绍了如何使用Java Swing中的`JComboBox`类来创建下拉式菜单,并通过具体示例展示了其基本用法和高级定制技巧。掌握了这些知识后,开发者可以更加灵活地运用下拉式菜单来增强应用程序的交互性和功能性。
这可能涉及到实现MultipleChoiceModel接口,它允许用户选择多个值,并提供相关的添加、删除和查询方法。 4. **Dynamic Loading Data**:动态加载数据意味着在用户交互时,数据不是一次性全部加载,而是按需加载。这...
frame.setTitle("列表框的使用方法"); frame.setLayout(null); // 创建标签 monthLabel = new JLabel("统计月份:"); monthLabel.setBounds(100, 100, 80, 20); // 创建列表数据 String[] months = {"1月",...
- 通过添加Items(String对象)或使用ComboBoxModel来填充组合框。 - 常用方法包括addItem()用于添加选项,getSelectedItem()获取选中的项,而setEditable(true)可以让用户输入自定义值。 3. JList(下拉列表):...
在`JComboBoxTest.java`和`Main.java`中,开发者首先需要创建两个JComboBox对象,分别用于省份和城市。初始化时,可以加载预定义的省市数据到它们的模型中。例如,使用`DefaultComboBoxModel`添加数据,代码可能...
在本文中,我们将深入探讨`DefaultComboBoxModel`的使用方法,包括它的构造器、主要方法以及如何在实际编程中应用。 首先,我们来创建一个`DefaultComboBoxModel`实例。通常,你可以通过以下方式初始化: ```java ...
在Java中,为了实现单选按钮的互斥,通常需要使用ButtonGroup对象来管理这些单选按钮。 3. **创建与初始化**: 创建单选按钮时,可以指定按钮的文字标签: ```java JRadioButton radioButton1 = new ...
4. 类域和类方法的修饰符:若需要定义一个类域(静态变量)或类方法,应使用`static`修饰符,因此正确答案是A。 5. WAN在计算机网络中的含义:WAN代表Wide Area Network,即广域网。 6. 二进制转换为十进制:(1111...
4. **String对象比较**:在Java中,String对象是不可变的,使用"=="比较的是对象的引用,而非内容。s1和s2都指向了字符串常量池中的相同内容,所以`s1==s2`为true。而s3创建了一个新的对象,因此`s1==s3`为false,...
我们将结合提供的标签"源码"和"工具"来分析`JComboBox`的使用,并给出一个名为`mutilCombobox`的示例。 首先,`JComboBox`是Java AWT/Swing图形用户界面(GUI)的一部分,用于创建下拉列表。它的基本用法包括添加...
在选项中,A.JScrollBar 对象、B.JMenuBar 对象、C.JComboBox 对象、D.JDialog 对象 都可以指定布局管理器。 7. 绘图程序的实现 在 Java 中,绘图程序通常需要继承 JPanel 类,并重写 paintComponent() 方法,以便...
在`JTable`中集成`JComboBox`可以为用户提供更丰富的交互体验,例如在表格的某一列中提供可选的值。 本示例项目“一个简单的JTABLE运用combox的例子”旨在演示如何在`JTable`的单元格中嵌入`JComboBox`,并解决可能...
这个实例的核心在于使用`JComboBox`来创建下拉框,并结合`JColorChooser`实现颜色选择对话框,以允许用户自定义颜色。以下是对这些知识点的详细解释: 1. **JComboBox**: `JComboBox`是Java Swing中的一个组件,...
13. Java中的同步方法使用`synchronized`关键字,同步锁是方法所在对象,即`this`关键字。 14. 构造函数的返回类型不是void,而是没有返回类型。 15. 类是面向对象编程中的核心概念,用于描述一组具有相似性质的...
6. 支持布局:通过设置组件最大、最小、推荐尺寸的方法和设置 X、Y 对齐参数值的方法能指定布局管理器的约束条件,为布局提供支持。 使用 Swing 的基本规则 与 AWT 组件不同,Swing 组件不能直接添加到顶层容器中...