Tag: jcombobox

JComboBox在多个表格单元格之间共享,自动选择当前选定的项目

我使用camickr提供的代码作为参考添加了一个combobox作为单元格编辑器: 如何将唯一的JComboBox添加到JTable(Java)中的列 除了在我的情况下,我只需要一个combobox用于列中的所有单元格。 我遇到的问题是combobox自动选择最后选择的项目(或当前选择的项目,不确定),并且由于不同的行共享相同的combobox,如果您单击其中一个单元格,它将自动更改到最后选择的项目。 作为一个快速演示,我只是修改了上面的代码来显示问题。 我希望combobox自动选择列表中的项目等于在选定单元格中设置的项目(而不是选择单元格,然后让该单元格的内容自动更改) import java.awt.*; import java.awt.event.*; import java.util.List; import java.util.ArrayList; import javax.swing.*; import javax.swing.border.*; import javax.swing.table.*; public class Test extends JFrame { List editors = new ArrayList(3); public Test() { // Create the editors to be used for each row String[] items1 = { “Red”, “Blue”, “Green” }; JComboBox comboBox1 = […]

使用文本文件填充JCombobox

可能重复: 如何从文本文件中填充JComboBox? 我是Java新手,只有2个月的经验。 任何人都可以帮我填充一个包含5行文本文件的JComboBox吗? 我查看了Google上的代码,但我一直在收到错误。

改变JComboBox弹出尺寸而不会产生令人不安的外观和感觉?

我正在寻找一种方法来改变JComboBox弹出窗口的宽度。 基本上,弹出框应该与最宽的combobox条目一样宽,而不是像目前的combobox那样宽。 我知道如何实现这一目标的唯一方法是创建一个ComboBoxUI的自定义实例并在JComboBox上设置它(示例代码演示了目标:Top Combobox显示宽弹出窗口,Bottom是默认行为)。 然而,由于这取代了ComboBox的UI,在一些L&F上可能看起来很奇怪(例如,使用WinXP Luna主题,ComboBox看起来像经典主题)。 有没有办法以L&F不可知的方式实现这种行为? public class CustomCombo extends JComboBox { final static class CustomComboUI extends BasicComboBoxUI { protected ComboPopup createPopup() { BasicComboPopup popup = new BasicComboPopup(comboBox) { @Override protected Rectangle computePopupBounds(int px, int py, int pw, int ph) { return super.computePopupBounds(px, py, Math.max( comboBox.getPreferredSize().width, pw), ph); } }; popup.getAccessibleContext().setAccessibleParent(comboBox); return popup; } […]

Java – 如果在combox1中选择了一个值,那么它应该在所有其他combobox中禁用

你好我仍然是java上的新手希望学习这个很好的function…你好我有4个combobox,内部和内部相同是 -Select- Item 1 Item 2 Item 3 Item 4 当我在comboBox1上选择Item 1时, comboBox2,comboBox3 and comboBox4只有这些元素 -Select- Item 2 Item 3 Item 4 然后当我在comboBox2上选择Item 3时, comboBox3 and comboBox4都有这个剩余的元素 -Select- Item 2 Item 4 有谁知道如何在Java上做到这一点? 我在Netbeans上使用GUI Builder … 编辑1 这是我的代码 private void jComboBox1ItemStateChanged(java.awt.event.ItemEvent evt) { jComboBox2.removeItem(jComboBox1.getSelectedItem()); jComboBox3.removeItem(jComboBox1.getSelectedItem()); jComboBox4.removeItem(jComboBox1.getSelectedItem()); } 然后我添加相同的代码jComboBox2, jComboBox3 and jComboBox4 …当我选择时 – -Select- -Select-也消失了…… […]

使用JComboBox更改/更新JTable内容(类别)

我的JTable有问题。 我的JTable显示数据库的内容。 一个数据库表具有名称类别。 每个类别都显示在JComboBox中。 如果我点击某个类别,它应该更新表格内容。 这是我的代码短片,所以它更容易帮助我。 代码应该是可运行的: (TestClass – Main) package test; import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.LinkedList; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; public class TestClass implements ActionListener{ String[] header = {“head”, “head”, “head”}; Object[][] data = {{Boolean.FALSE, “text”, “text”}, {Boolean.FALSE, “text”, “text”}, {Boolean.FALSE, “text”, “text”}}; […]

Java Swing,JComboBox下拉列表更改侦听器,然后单击

我有一个JComboBox,它有一个midi文件列表,我想知道以下是否可行:当我点击JComboBox时,会打开一个下拉列表,当我将鼠标移动到midi文件时,它会播放10秒示例声音,所以在我点击并选择该文件之前我知道文件包含的内容,所以如果我有50个midi文件,我可以打开列表并在列表中上下移动鼠标而不点击它,但仍然播放10鼠标指向的文件中的第二个样本,然后在我决定哪一个之后,单击它,那个将是JComboBox中的一个。 如何从JComboBox获得鼠标位置更改/指向事件的通知?

如何在Java中将Vector 转换为Vector ?

我正在使用带有自定义类对象的JComboBox,并且equals方法被覆盖,并且非常深入地集成到代码中。 问题是如果两个对象在JComboBox下拉列表中相等,那么如果选择了一个,则选择all,并且get selected index返回-1。 有没有办法将Vector转换为Vector ? 我试过了 Vector v_temp=(ca.courses.get(i).classes); 和 Vector v_temp=(ca.courses.get(i).classes); 其中Clas_2是Clas_2的父Clas_1 , Clas_3是Clas_3的扩展,但它们都没有编译。 我只需要JComboBox不要使用over-ridden equals方法。 *注意我知道我可以将每个单独的元素转换为一个新的数组,但宁愿拥有更高效的内存解决方案。

快速替换JComboBox / BasicComboBoxUI?

我有一个可能有数千个项目的JComboBox 。 它们是有序的,并且有找到你的类型,所以原则上它并非完全无法使用。 在实践中,只有几百个项目它几乎无法使用。 我设法使用setPrototypeDisplayValue()来改善初始显示性能,但BasicListUI仍然坚持为框中的每个项配置列表单元格渲染器(请参阅BasicListUI.updateLayoutState() )。 这或类似的东西显然是Sun的一个已知问题 ; 现在已经八年了,所以我没有屏住呼吸。 没有实现我自己的用户界面,有没有人有一个解决方法?

FocusListener对可编辑的JCombobox没有触发

首先:抱歉我无法提供SSCCE。 我试图在一个小项目上重新创建这个问题,但没有成功,或者我应该说成功,因为它在那里工作! 所以这是我的问题:我有一个可编辑的JCombobox,它应该通过单击编辑器组件来监听焦点事件。 但事实并非如此。 这是我附加监听器的代码片段: cmbZoom.setToolTipText(locale.getString(“GUI_ZoomFactor”)); cmbZoom.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 16)); cmbZoom.setPreferredSize(new Dimension(88, 29)); cmbZoom.setEditable(true); ((JTextField)cmbZoom.getEditor().getEditorComponent()).setHorizontalAlignment(JTextField.CENTER); cmbZoom.getEditor().getEditorComponent().addFocusListener( new FocusListener(){ public void focusGained(FocusEvent arg0) { System.out.println(“GAINED”); } public void focusLost(FocusEvent arg0) { System.out.println(“LOST”); } }); 我已经尝试删除combobox上的所有其他侦听器,删除观察者模式,使combobox受到保护并将侦听器附加到每个子节点上,… 我也尝试重新实现它就像写在这篇文章: JCombobox focusLost没有解雇 – 为什么会这样? 是否有一种调试事件的好方法? 整个项目可以在Github上查看: https : //github.com/nexxx/Database-Analyzer 工具栏类可以在这里找到(代码从第98行开始): https : //github.com/nexxx/Database-Analyzer/blob/master/src/dba/gui/auxClasses/toolBars/ToolBar.java

Java JComboBox监听更改选择事件

我正在尝试在Java JComboBox中听取选择的更改。 我试图使用ActionListener但问题是这样的:动作监听器做这样的事情 public void actionPerformed(ActionEvent e){ JComboBox source = ((JComboBox)e.getSource()); String selected = source.getItemAt(source.getSelectedIndex()); /*now I compare if the selected string is equal to some others and in a couple of cases I have to add elements to the combo*/ } 您可以注意到,当我需要向组合添加元素时,另一个事件被触发并且再次调用actionPerformed方法,即使我不想要它,并且代码可能循环… :(有没有办法只听选择更改而不是一般的更改事件?谢谢