Tag: jcombobox

Celleditor(JComboBox)在JTable的特定行中

我不知道怎么做在特定行中设置一个jcombobox …现在我对所有行都有这个jcombobox,但我想只在一行中: JComboBox cc = new JComboBox(); cc.addItem(jComboBox5.getSelectedItem()+”/”+jComboBox6.getSelectedItem()+”/”+jComboBox7.getSelectedItem()+” “+jComboBox1.getSelectedItem()+”.”+jComboBox2.getSelectedItem()); jTable1.getColumnModel().getColumn(3).setCellEditor(new DefaultCellEditor(cc)); DefaultTableCellRenderer renderer = new DefaultTableCellRenderer(); renderer.setToolTipText(“CLICCA PER LE DATE”); jTable1.getColumnModel().getColumn(3).setCellRenderer(renderer);

动态更改JComboBox

我成功地从数据库中获取数据值。 我还将它们存储在String[]数组中。 我需要加载String数组作为JComboBox的项目以响应执行的键操作。 每当按下一个键时,如何重新加载JComboBox的项目,因为获取的值取决于按下的键。 相反,我需要动态刷新JComboBox项。

JComboBox宽度

我创建了一个jComboBox,但它占用了帧的全宽。 如何设置宽度固定。 是的borderlayout用于面板的框架和框布局。 我在这里添加代码: import javax.swing.*; import java.awt.BorderLayout; public class Window8 { JFrame frame; JPanel panel; JComboBox combo; public void go(){ String[] option = { “STUDENT”, “TEACHER” }; combo.setPreferredSize(new Dimension(1,25)); combo = new JComboBox(option); menu.setSelectedIndex(0); frame = new JFrame(“DELETION”); frame.setLocationRelativeTo(null); frame.setSize(400, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); panel = new JPanel(); panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS)); frame.getContentPane().add(BorderLayout.NORTH,panel); panel.add(combo); }

使用键盘滚动弹出列表时,如何使JComboBox所选项目不被更改

我在面板中有一个JComboBox组件,并且附加了ItemListener。 但是每次上/下按键后都会被触发(当滚动打开弹出列表时)。 我想在用户接受选择后通过按Enter键来更改所选值。 使用鼠标时不是这种情况。 当我将鼠标移到combobox的列表上时,突出显示在鼠标指针之后,但是在我按下鼠标按钮之前,所选项目不会更改。 我希望键盘具有相同的行为,即通过向上/向下箭头移动高亮显示不会更改所选项目,但按Enter键可以。

如何在使用自定义ListCellRenderer时防止JComboBox无响应

我正在使用JComboBox和自定义ListCellRenderer制作字体选择器。 我希望JComboBox显示所有可用的字体,每个字体名称都以自己的字体显示。 我目前使用大约500种字体。 提供此function的ListCellRenerer示例: private class ComboBoxRenderer extends JLabel implements ListCellRenderer { private JLabel label = new JLabel(“Test”); @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { Font tempFont = label.getFont(); setFont(new Font((String) value, tempFont.getStyle(), tempFont.getSize())); setText((String) value); return this; } } 问题是,在使用此渲染器时, JComboBox在程序执行期间变得无响应。 第一次单击combobox以显示列表时,列表加载需要几秒钟。 第二次单击,立即显示列表。 如果有人评论该行 setFont(new Font((String) value, […]

如何在java中动态添加项目时,如何避免触发JComboBox的actionlistener事件?

我需要你对以下任务的建议和指导。 我有一个框架有两个JComboBoxes,假设它们被命名为combo1和combo2,一个JTable和其他组件。 在使用上述组件可见框架的初始阶段。 combo1combobox中填充了一些值,但在初始阶段没有选择任何值,combo2combobox被禁用,表格为空。 我在combo1和combo2上添加了一个actionListener。 combo1中有两种类型的值,假设这些值是type1和type2。 条件1:当我们从Combo1中选择值type1时,将调用actionListener方法combo1,该方法调用combo2保持禁用的方法,并将一些行添加到与combo1中的选定值type1相关的表中。 条件2:当我们从combo1中选择值type2时,将调用actionListener方法combo1,该方法调用一个方法,该方法使combo2填充了与type2相关的一些值并启用但是没有从combo2中选择任何值,并且table也应保持为空,直到我们选择combo2中的任何值。 每次向combo2添加值时,表都会触发combo2的动作侦听器方法。 在combo2的actionListener方法中,它获取了combo2选择的值,但是这里没有选择的combo2值导致NullPointerException。 那么我应该怎么做才能在将值添加到combo2之后执行combo2的动作列表器方法。

JComboBox确定项目是否在下拉列表中不可见

我试图从JComboBox下拉列表中的JViewPort中查看每个项目是否可见 (我星期五加油) 编辑:我不想为重复事件实现MouseListener到System.out.print(…) 是不可能通过JList传递JComboBox,由JCombo#Model使用SwingUtilities http://download.oracle.com/javase/6/docs/api/javax/swing/SwingUtilities.html声明 ,但这个APi不在我的… import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ItemVisibleRecCombo extends JFrame { private static final long serialVersionUID = 1L; private JComboBox fontsBox; public ItemVisibleRecCombo() { String[] numbers = {“one”, “two”, “three”, “four”, “five”, “six”, “seven”}; fontsBox = new JComboBox(numbers); fontsBox.setSelectedItem(0); fontsBox.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { […]

从JComboBox中删除边框

你知道从Java中的JComboBox中删除边框的方法吗? 我尝试以下代码 public class ComboFrame extends JFrame { public ComboFrame() { JPanel container = new JPanel(); JComboBox cmb = new JComboBox(new String[] { “one”, “two” }); cmb.setBorder(BorderFactory.createEmptyBorder()); container.add(cmb); getContentPane().add(container); pack(); } } 和 public static void main(String[] args) throws Exception { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); EventQueue.invokeLater(new Runnable() { public void run() { new ComboFrame().setVisible(true); } }); } 不要问为什么有人想要从combobox中移除边框…我想它没有多大意义,但这就是它的需要,我真的很好奇它是否可以完成。 […]

在JTable中为JComboBox的Items设置一个工具提示作为CellEditor

我想为自定义combobox中的值设置工具提示值。 基本上,我的combobox包含一个人的首字母列表 – 当它们hover在我希望它显示该人的全名时。 我的combobox基本上是JTable的单元/列,它有自己的TableCellRenderer和DefaultCellEditor。 该列表是一个JList(模型中的内部类) – iv尝试直接设置’setToolTipText’方法,但似乎不起作用。 这是代码: * JTable中的代码:* public void setupUserCombo(Container container){ TableColumn col = getColumnModel().getColumn(3); Set values = new LinkedHashSet(); ComboUser comboUser = new ComboUser(new User(“Test User”)); values.add(comboUser); col.setCellEditor(new MyComboBoxEditor((ComboUser[])values.toArray(new ComboUser[0]))); col.setCellRenderer(new MyComboBoxRenderer((ComboUser[])values.toArray(new ComboUser[0]))); repaint(); } public class MyComboBoxRenderer extends JComboBox implements TableCellRenderer { private static final long serialVersionUID = 1L; […]

在空JCombobox中添加水印

我正在尝试重现Firefox或Safari的搜索字段的行为,或者本页面右上角的stackoverflow.com搜索字段。 我的意思是,当可编辑的JComboBox上没有文本时,会显示一条指令文本,例如”Type here”或其他任何内容。 当JComboBox聚焦时,文本将被删除。 如果在没有输入文本的情况下丢失焦点,则返回指令文本。