问题标签 [comboboxmodel]

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 回答
1678 浏览

java - 我的 jComboBox 对我的 keyListener 没有反应,并且 actionPerform 执行了奇怪的事情

我正在尝试搜索用户名并将值返回到 jComboBox,这是代码

在你点击到其他地方或点击回车后,它会进行搜索,但是,它会再次搜索第一个项目,这非常令人困惑......然后我尝试使用 key Pressed

而这个完全没有反应。

0 投票
1 回答
210 浏览

java - 关于如何调试 ComboBoxModel 的建议

在我的项目中,我有几个带有自定义模型的 JComboBox。基本上它们用于显示一些 JTables 列的值(因此我决定在扩展 AbstractTableModel 的相关类上实现它们)。

我有几个模型:MyTableModel2 和 MyTableComboBoxModel2。这些模型都做了几乎相同的事情,除了一些与组合框和表格本身无关的额外操作。

所有这些东西的目的应该是根据对相关 JTable 的修改来更新 JComboBox 的显示值。

除了在一种情况下,我已经实现的模型一切正常,经过几个小时的调试,我仍然无法解决它。错误模型的代码几乎与其他模型相同。可能这是我代码中其他地方的错误,但我不知道在哪里。

错误的情况有以下行为:当我最初创建一个包含一些值的表时,即使在 JComboBox 中也能正确显示这些值,但是当我添加新行时,显示的值全部变为空白(显示的空白菜单的大小是正确的) . 我发现:

  1. jtable 的新行已正确添加。
  2. 当单击 JComboBox 并返回所有可用值(包括新值)时,会多次调用 getElementAt 方法。
  3. 当我单击 JComboBox 并返回正确的更新值时调用方法 getSize()
  4. 如果 JComboBox 有焦点,我可以使用箭头来选择可用项目并且所有项目都是可选的(甚至是添加的项目)。
  5. 如果我使用鼠标在显示的空白菜单上随机单击一个点,则可以选择所有最后一个可用条目。

有人知道吗?你能建议我在这种情况下如何调试吗?不幸的是,我无法发布 SSCCE .. 我希望有人可以提供帮助..

0 投票
6 回答
13836 浏览

java - 更改另一个组合框项目选择后如何更改组合框的数据?

我有一个用 java 编写的 MVC 应用程序,其中有一个包含三个组合框的表单。年/月/日,如果年份和月份的选择发生变化,我想更改天数。在我的查看器中,我只定义了组合框

在我的控制器中,我有:

触发其他事件后如何更改另一个组件?

0 投票
5 回答
8340 浏览

java - Java Swing Combobox removeAllItems 也调用 ItemStateChanged?

我的代码实际上很简单。我从这篇文章中看到了一个简单且类似的代码。

起初,我有 1 个组合框。我有一个名为itemStateChanged()的侦听器。我添加到这个监听器的目的是:“当用户从其保管箱中单击(选择)一个项目时执行一些代码”。

在代码后面,我抓取了一些数据,然后调用了 removeAllItems() 方法。然后我在其中设置了一个新模型(来自新数据)。

我意识到当我执行removeAllItem()方法时,我的itemStateChanged() 被调用。调用一次。

那么,如何使其仅在用户单击(选择)时才被调用,而不是在 removeAllItems() 调用时调用?

它类似于这篇文章。但这不是删除Items 的情况。CMIIW。

0 投票
3 回答
6968 浏览

java - 有没有办法在调用 setSelectedItem() 时阻止动作侦听器触发?

我有一个包含多个组合框的程序,每个组合框都有自己的动作侦听器。从任何组合框中选择一个项目将更改一个或多个其他组合框中的项目。我遇到的问题是,为一个组合框调用 setSelectedItem() 会触发另一个组合框的动作侦听器,而后者又会触发其他组合框的动作侦听器,等等。

有没有办法避免这种情况,要么只允许从用户输入触发动作侦听器,要么检测到动作不是从用户输入触发的?说不使用 setSelectedItem() 不是一个选项,因为我希望程序能够为每个组合框设置当前选定的项目。提前感谢您的帮助。

0 投票
2 回答
7489 浏览

java - JComboBox 项目监听器

我有两个组合框。第一个包含一些运算符 (+ , - ,* ,/),第二个包含一些从 0 到 10 的值。当用户在第一个组合框中选择 (/) 时,我希望第二个显示一个从 2 到 10 的值从 0 到 10。

我试过这个:

我的问题是当我选择(“/”)时 numberCombo 工作正常并显示从 2 到 10 的数字但是当我点击另一个运算符时它仍然显示从 2 到 10 而不是 0 到 10 的数字。我该如何解决这个问题问题?!谢谢

0 投票
1 回答
980 浏览

java - SwingWorker 更新 multilpe 面板中的多个组合框

我有一个小 gui 程序,它在启动时从 Excel 文件中读取数据,其中一些数据需要转到相关的组合框。我知道如何通过为每个组合框使用单独的 SwingWorker 来做到这一点:

这很好用,但是如何使用一个 SwingWorker 类来填充多个组合框?这将具有读取文件一次的好处。每当找到需要进入组合框的内容时,相关的组合框就会更新,然后程序继续读取下一行,直到文件结束。

因此,我尝试在一个 JPanel 中更新 2 个组合框的情况下使用布尔标志,但这似乎没有按预期工作。这也不是一个好的解决方案,因为将来我计划在多个面板中更新超过 2 个组合框。

那么如何只使用一个 SwingWorker 来填充多个组合框(可能包含在不同的面板中)?

顺便说一下,对于上述示例,我从我的一个面板(扩展 JPanel 的类)中调用 ExcelReader。在第一种情况下,调用工作人员的面板只有一个组合框,第二个有 2 个。虽然第一个示例工作正常,但这是在 gui 中更新组合框的正确方法还是应该从其他地方调用工作人员?

0 投票
1 回答
972 浏览

java - 如何使用变量声明一个新的 JComboBox

我需要创建一个新的 JComboBox,但由于我对三个不同的操作使用相同的 JFrame,我需要将 JComboBox 名称作为参数传递

这是我现在拥有的代码:

如果我打印 comboTipo,我可以阅读“Tienda.telasItems”或“Tienda.accesoriosItems”或“Tienda.aviosItems”。我希望将此文本用于组合框声明,因此我不必创建决策结构

如果需要其他信息,请告诉我。

0 投票
2 回答
23404 浏览

java - 如何打印 JComboBox 中的所有项目?

我想知道如何打印出 JComboBox 中的所有项目。我不知道该怎么做。我知道如何打印选择的任何项目。我只需要它在我按下按钮时打印出 JComboBox 中的每个选项。

0 投票
1 回答
3162 浏览

java - 遍历hashmap并将项目添加到swing jcombobox

我正在开发我的第一个 Java 应用程序,我被困在这部分,我需要用哈希图中的项目填充我的组合框。

我正在使用模型视图控制器方法并尝试从 GUI 中填充组合框。因此,在用户单击按钮后,将调用一个方法,该方法应与控制器对话并请求组合框的项目。控制器应将项目发送回 GUI,然后可以填充组合框。

因此,在我的一个模型文件中,我创建了一个哈希图并通过我的控制器向其中添加项目。

哈希图如下所示:

让我们假设地图现在根据 Customer 类属性填充了示例数据。

现在,我想我需要在控制器或模型本身中实现一个方法,该方法遍历上面的哈希图并返回数据(集合?)。

我会(另一个假设,可能没有必要)需要再次遍历这些数据,只是这次在 GUI 类中,并将项目一个一个地添加到组合框中。

所以项目看起来像这样:5 个文件,Controller、Customerregister、Customer、Frame 和一个显示 Frame 的应用程序文件。

非常感谢您的任何建议。