JTable里的JComboBox在按空格键时不能显示下拉框
通常的JComboBox在获得焦点时按空格键会显示下拉框,
但是JTable里的JComboBox,按空格键没有反应
这是为什么
有没有办法实现JTable里的JComboBox也能在按空格键会显示下拉框
附实例代码
但是JTable里的JComboBox,按空格键没有反应
这是为什么
有没有办法实现JTable里的JComboBox也能在按空格键会显示下拉框
附实例代码
public class T1 extends JComboBox implements TableCellRenderer {
public T1() {
setBorder(BorderFactory.createEmptyBorder());
addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// TODO 自動生成されたメソッド・スタブ
System.out.println("gggg");
}
});
}
public static void main(String[] args) {
JFrame f = new JFrame();
// try {
// UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
// } catch (Exception e) {
// e.printStackTrace();
// }
JComboBox comboBox = new JComboBox();
comboBox.setBorder(BorderFactory.createEmptyBorder());
comboBox.addItem("Item-1");
comboBox.addItem("Item-2");
comboBox.addItem("Item-3");
comboBox.addItem("Item-4");
// comboBox.addItem("Item-5");
comboBox.setFocusable(true);
DefaultCellEditor editor = new DefaultCellEditor(comboBox);
JTable table = new JTable(5, 5);
table.getColumnModel().getColumn(0).setCellRenderer(new T1());
table.getColumnModel().getColumn(0).setCellEditor(editor);
JScrollPane sp = new JScrollPane(table);
f.getContentPane().add(sp, BorderLayout.CENTER);
JComboBox cmb1 = new JComboBox();
cmb1.setBorder(BorderFactory.createEmptyBorder());
cmb1.addItem("Item-1");
cmb1.addItem("Item-2");
cmb1.addItem("Item-3");
cmb1.addItem("Item-4");
cmb1.addItem("Item-5");
// cmb1.setFocusable(true);
f.getContentPane().add(cmb1, BorderLayout.SOUTH);
JComboBox cmb2 = new JComboBox();
cmb2.setBorder(BorderFactory.createEmptyBorder());
cmb2.addItem("Item-1");
cmb2.addItem("Item-2");
cmb2.addItem("Item-3");
cmb2.addItem("Item-4");
cmb2.addItem("Item-5");
cmb2.setFocusable(true);
f.getContentPane().add(cmb2, BorderLayout.NORTH);
f.pack();
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
this.removeAllItems();
this.addItem(value);
return this;
}
}
...全文
相关推荐
Swing之JTable+JComboBox的详细介绍[zone yan]
table中插入combobox, 并能够【根据条件】【动态】修改【某一行】的combobox中可选项
java swing 多选下拉框 支持动态加载数据
java swing 多选下拉框 支持动态加载数据 (优化了网上的下拉框代码)
JDBC 用户登录\用户注册\JTable 显示数据库中的记录
使用JDBC连接数据库并进行数据表增删改查 使用JDBC 实现用户登录 使用JDBC 实现用户注册 JComboBox 中显示数据库中的记录 用JTable 显示数据库中的记录
Llenar-JTable-JAVA-JPA
填充-JTable-JAVA-JPA 如何使用 JPA 从 MYSQL 数据库加载 JTable 和 JComboBox JAVA 的示例项目
一个简单的JTABLE运用combox的例子
一个简单的JTABLE运用combox的例子,主要解决了jcombox一个死循环的问题


Java SE
