我在面板上使用了一个组合框,据我所知,我们只能添加带有文本的项目
comboBox.addItem('item text');
Run Code Online (Sandbox Code Playgroud)
但有时我需要使用项目和项目文本的一些值,如在html中选择:
<select><option value="item_value">Item Text</option></select>
Run Code Online (Sandbox Code Playgroud)
有没有办法在组合框项目中设置值和标题?
现在我使用哈希来解决这个问题.
假设我想在JComboBox中使用自定义图像作为箭头,我该怎么做?
我知道有可能使用synth xml文件,甚至可能使用UIManager.put(...),但我不知道如何使用.我此时想要做的就是将箭头图像更改为其他内容,无论是以编程方式还是仅覆盖其使用的图像.我怎么能这样做?
Vector comboBoxItems = new Vector();
DefaultComboBoxModel model;
// ComboBox Items have gotten from Data Base initially.
model = new DefaultComboBoxModel(ComboBoxItems);
JComboBox box = new JComboBox(model);
Run Code Online (Sandbox Code Playgroud)
我将这个组合框添加到面板中.如果我直接在数据库中添加一些项目,我想要在组合框中显示这些新添加的项目.
我可以在comboBoxItems调试时看到值,但这些值不会出现在我的组合框中.
如何在不关闭面板的情况下将这些新添加的值添加到组合框中?
我想将各个JComboBox放入JTable的每个单元格中.即.每个单元格的JComboBox内容并不相同.
我基本上希望能够只调用以下代码将一行JComboBox添加到JTable中.任何人有任何想法?谢谢
JComboBox cb1 = new JComboBox(...);
JComboBox cb2 = new JComboBox(...);
model.addRow(new Object[] {"Row name", cb1, cb2} );
JComboBox cb3 = new JComboBox(...);
JComboBox cb4 = new JComboBox(...);
model.addRow(new Object[] {"Row name 2", cb3, cb4} );
Run Code Online (Sandbox Code Playgroud)
我能找到的最接近的示例代码如下.但是对于单个列的JComboBox内容是相同的.不是我需要的解决方案.
TableColumn col = table.getColumnModel().getColumn(vColIndex);
col.setCellEditor(new MyComboBoxEditor(values));
Run Code Online (Sandbox Code Playgroud)
哪里
public class MyComboBoxEditor extends DefaultCellEditor {
public MyComboBoxEditor(String[] items) {
super(new JComboBox(items));
}
}
Run Code Online (Sandbox Code Playgroud) 这可能是之前提出的问题.我在帖子之前搜索了很多,但是找不到任何可接受的.
有人可以告诉我如何做到这一点.我只需要在单击单元格时得到一个下拉菜单,这样我就必须从中选择一个值(作为限制用户选择的方法).
如果有人可以帮助我,我相信它会帮助很多人.有很多类似的问题,但没有任何明确的答案.请回答一下细节.一个例子将非常感谢..
谢谢!
是否可以设置一个值和一个标签,JComboBox以便我可以显示一个标签,但得到一个不同的值?
例如在JavaScript中,我可以这样做:
document.getElementById("myselect").options[0].value //accesses value attribute of 1st option
document.getElementById("myselect").options[0].text //accesses text of 1st option
Run Code Online (Sandbox Code Playgroud)
我想在java中创建一个自动完成程序,当用户在a中输入一个字符/字符串时,它应该立即提供一个建议列表JTextfield.问题是我对如何做到这一点很困惑.
有人可以就上述问题提供想法或样本吗?
我想改变一个列表的内容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);
}
Run Code Online (Sandbox Code Playgroud) 我在面板中有一个JComboBox组件,并且它附加了ItemListener.但是每次上/下按键后都会被触发(当滚动打开弹出列表时).我想在用户接受选择后通过按Enter键来更改所选值.
使用鼠标时不是这种情况.当我将鼠标移到组合框的列表上时,突出显示在鼠标指针之后,但是在我按下鼠标按钮之前,所选项目不会更改.我希望键盘具有相同的行为,即通过向上/向下箭头移动突出显示不会更改所选项目,但按Enter键可以.
java ×10
jcombobox ×10
swing ×9
jtable ×2
autocomplete ×1
dimensions ×1
jtextfield ×1
keyboard ×1
properties ×1
synth ×1