问题标签 [jcombobox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
15632 浏览

java - 我如何知道可编辑 JComboBox 的文本何时更改?

我有一个可编辑的JComboBox,只要通过键入或选择更改文本,我就想在其中执行一些操作。在这种情况下,文本是一个模式,我想验证该模式是否有效并显示导致某些测试数据的匹配项。

完成了明显的操作,附加一个 ActionHandler,我发现,对于打字,事件似乎不可靠地触发,充其量是(选择很好)。当它因键入而触发时,检索到的文本(使用 getEditor().getItem(),因为 getSelectedItem() 仅在从列表中选择文本时才获取文本)似乎是文本,因为它是最后一个事件被触发 - 也就是说,它总是缺少在触发动作事件之前立即输入的字符。

我期待动作事件在一些短暂的延迟(500 毫秒到 1 秒)后触发,但它似乎在键控时立即触发(如果它被触发的话)。

我能想到的唯一可行的替代方法是简单地在获得焦点时启动一个 1 秒计时器,在失去焦点时将其终止,如果内容与上次不同,则将其作为计时器动作进行工作。

有什么想法或建议吗?

代码片段并不是特别有趣:

0 投票
8 回答
142524 浏览

java - 如何使用 ArrayList 填充 JComboBox?

我需要用 ArrayList 填充 JComboBox。有没有办法做到这一点?

0 投票
2 回答
3080 浏览

swing - 具有较大下拉宽度的 JComboBox

问题:作为 Swing 应用程序的一部分,我有一个组合框需要放入固定空间。但是,它的内容可能很长。我希望盒子本身是固定大小的,截断内容。但是,当单击向下箭头时,我希望它的行为类似于 HTML 选择,并显示一个足够长的框以容纳最长的条目作为下拉菜单。ListCellRenderer 可能是这种方式;我不知道。

也可能是我需要某种 javax.swing.plaf.basic.ComboPopup 和我自己的 ComboBoxUI 的实现。我已经深入研究了 SwingUtilities 代码以了解 DefaultListCellRenderer 如何进行计算。它使用 JLabel,BasicLabelUI 调用 SwingUtilities.layoutCompoundLabel(最终在调用堆栈中)进行剪辑。BasicComboPopup,我正在研究的 Java 6 代码中 ComboPopup 的唯一实现,似乎委托给:JList.computeVisibleRect(Component c, Rectangle visibleRect)

有没有人这样做过?任何指针?

0 投票
2 回答
1232 浏览

java - 覆盖 JComboBox 默认颜色

当 L & F 是金属时,我试图覆盖 JComboBox 使用的默认颜色。我已将 UIManager 中的以下内容覆盖为自定义颜色;

  • 组合框字体
  • ComboBox.selectionBackground
  • ComboBox.buttonShadow
  • ComboBox.buttonHighlight
  • ComboBox.disabledBackground

  • 控制
  • 控制DkShadow
  • 控制高亮
  • controlLt高亮
  • 控制阴影

但是,我无法删除文本周围的浅蓝色矩形

有什么想法可以改变这个吗?

替代文字

0 投票
2 回答
2433 浏览

java - Swing:JComboBox 中所选项目旁边的浮动面板

我创建了一个带有小窗口(组合框大小)的应用程序。我需要创建一个浮动面板,它位于窗口外,靠近 JComboBox 中的选定项目。(见附图)。

替代文字

我一直在阅读有关 JComboBox.setRenderer(customRenderer) 等的信息。但在我走这条路之前,我只是想知道是否有可能在窗口外渲染一些东西。我怀疑是这样,因为组合框本身设法在窗口外呈现它的弹出列表。

我对 Swing 很陌生,所以任何建议都将不胜感激。

0 投票
4 回答
38790 浏览

java - 从枚举填充 Swing JComboBox

我想用 ajava.swing JComboBox中的值填充 a Enum

例如

并让这三个值填充一个 readonly JComboBox

谢谢!

0 投票
6 回答
63268 浏览

java - Netbeans - 在 jComboBox 中输入项目

我已经从 netbeans 生成了一个 GUI,其中我也放置了一个组合框。

默认情况下,组合框中的项目为 item1、item2、item3、item4。

但我想要我自己的物品。Netbeans 不允许编辑生成的代码,所以我怎么能根据我编辑comnbobox。

注意:我通过编辑该 jComboBox 的“模型”属性知道一种方法,但我不想那样做,因为我想要该 jComboBox 中的各种项目(在数组中),所以我想将该数组传入那个jComboBox如下:

0 投票
3 回答
22807 浏览

java - 启用 JCombobox 可编辑

jCombobox 中的 setEditable() 和 setEnabled() 有什么区别?组合框可以编辑但不启用或其他方式吗?在什么情况下你会使用什么方法?

你能想象一个你将 setEnabled(false) 和 setEditable(true) 一起做的情况吗?

0 投票
1 回答
685 浏览

java - Java ComboBox 什么控制列表的显示位置?

可能是一个奇怪的问题,但如何更改我的 Java Swing 组合框显示其项目列表的方式?默认行为是列表显示在组合框下方。有时,当组合框在屏幕上较低时,列表会显示在组合框上方。有没有办法强制它始终显示在上方?如果我希望列表“弹出”并浮动在显示大于正常大小的表单上方怎么办?这些事情可能吗?

谢谢 ST

0 投票
2 回答
2142 浏览

java - 如何使用来自 mySQL 数据库的信息填充 jcombobox?

基本上,该程序获取客户信息并将其转储到数据库中。为了更改信息,我希望用户能够从组合框中选择客户名称,这样系统就可以从该客户的数据库中调用所有信息。访问数据库很好,输入信息并更改它很好。我只是不知道如何让组合框填充所有客户姓名。