Tag: tablecelleditor

像JTable单元格编辑器一样使用JSpinner

我正在使用JSpinner像表格单元格编辑器,我有一个恼人的问题: 单元格保持不可编辑模式,直到我点击进入它,因为不可编辑我的意思是我无法写入它(它没有焦点所以它不接受输入键盘)但我可以用更改值 – 向下箭头(键盘)。 那么,当我选择一个按键时,我必须做些什么来集中我的表格? 除了那个问题,我的SpinnerEditor类运行得很好。 谢谢大家。

如何将下拉菜单添加到JTable单元格

这可能是之前提出的问题。 我在post之前搜索了很多,但是找不到任何可接受的。 有人可以告诉我如何做到这一点。 当我点击单元格时,我只需要获得一个下拉菜单,这样我就必须从中选择一个值(作为限制用户选择的方法)。 如果有人可以帮助我,我相信它会帮助很多人。 有很多类似的问题,但没有任何明确的答案。 请回答一下细节。 一个例子将非常感谢.. 谢谢!

如何在cellchange上执行JTable选择所有文本

我已经看到了这样做的一些例子,但我仍然无法理解,也无法实现它。 我想要做的是细胞更换(焦点),下一个选定的单元格将选择所有文本,准备用户完全更改它.. 关于如何做的任何想法? //更新//不知怎的,我设法出来了下面的课但是 实现这一点 tblLayers.setDefaultEditor(String.class,new Classes.CellEditor()); 没有产生任何结果,“尚未支持。” 不被抛出.. 我该如何解决这个问题? import java.awt.Component; import java.util.EventObject; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.SwingUtilities; import javax.swing.event.CellEditorListener; import javax.swing.table.TableCellEditor; public class CellEditor extends JTextField implements TableCellEditor { public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { // final JTextField ec = (JTextField) editorComponent; // // ec.setText((String) […]

在获得焦点的JTable中的单元格中开始编辑

我已按以下方式为表中的两列定义了单元格编辑器: Java代码: JComboBox combo = new JComboBox(); //code to add items to the combo box goes here. JTextField textField = new JTextField(); textField.setHorizontalAlignment(JTextField.RIGHT); TableColumn column = myJTable.getColumnModel().getColumn(0); column.setCellEditor(new DefaultCellEditor(combo)); column = myJTable.getColumnModel().getColumn(1); column.setCellEditor(new DefaultCellEditor(textField)); 我面临的问题是,当焦点移动到表格单元格时,单元格不会自动编辑。 因此,当焦点移动到第2列(具有文本字段作为编辑器)时,除非双击单元格或用户开始键入,否则不会显示插入符号。 第1列(具有combobox作为编辑器)的情况类似,因为除非单击单元格,否则不会出现combobox。 这些行为是违反直觉的,对于使用键盘操作的用户来说是不受欢迎的。:( 请建议如何解决这个问题。 提前致谢。

使用all(jComboBox,JTextField,jFileChooser)作为表编辑器会覆盖引用

在下面的代码中,对于同一个表的各行,我试图将Editable comboBox设置为第一行的编辑器(以便用户可以从可用选项中进行选择或键入自己的选项),第二行的文件选择器和默认值textFiled用于其余行。 问题:以及重现它的步骤: 1-运行代码, 2-单击第二行并选择一个文件夹(行变为黄色) 3-现在单击第一行选择电影类型(只需单击,无需键入任何内容或选择) 4-现在再次点击第二行(文件夹选择) 你会看到这行的内容会被复制到第一行吗?! 我知道有很多事情我做得不对,也许处理不是线程安全的波动,处理引用等等。 我想知道你们是否可以帮助我解决这个问题,并将此代码转化为可靠的代码。 按照以上步骤操作后: import java.awt.Color; import java.awt.Component; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.io.File; import javax.swing.DefaultCellEditor; import javax.swing.JComboBox; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.event.PopupMenuEvent; import javax.swing.event.PopupMenuListener; import javax.swing.table.TableModel; public class CCellEditor extends DefaultCellEditor { private JTable m_Table = null; public CCellEditor(JFrame parentFrame, […]

是否可以检测在表格单元格内单击的按钮?

我是一个swing应用程序,其中我有一个表格,我正在放置一个可以包含按钮的面板。代码如下 public class MyCellDataRenderer implements TableCellRenderer, TableCellEditor { @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { MyCellData myCellData = (MyCellData) table.getValueAt(row, column); JPanel panel = GridBagHelper.createPanel(); if (myCellData.isATableHeader()) { panel.setBackground(myCellData.getCellBackgroundColor()); panel.add(myCellData.getContenant(), GridBagHelper.createGridBagConstraints(0, 0, 1, 1, GridBagConstraints.NORTHWEST, GridBagConstraints.BOTH)); return panel; } boolean condition=true; if (condition==true) { panel.setBackground(myCellData.getCellBackgroundColor()); panel.add(myCellData.getContenant(), […]

JTable Nimbus外观 – 如何清楚哪个单元格具有焦点

当在JTable(Nimbus L&F)中编辑数据时,当用户从一个单元格切换到另一个单元格时,不清楚哪个单元格具有焦点。 如何更清楚地说明哪个细胞有焦点? 我知道有很多属性可以设置来修改Nimbus – 有谁知道我想要哪个属性? 下面的屏幕截图只有一个属性设置为默认值以外的其他属性: UIManager.put(“Table.showGrid”, true);

如何在按下单独的JBtton时停止使用DefaultCellEditor进行编辑

我得到了一个带有自定义TableCellEditor(扩展DefaultCellEditor)的表,其中JFormattedTextField作为编辑器组件。 现在我遇到了问题:当我在编辑时按下一个单独的按钮。 当按下按钮时,编辑器保持“打开并激活”,同时我希望它停止编辑,以便所做的更改可用于按钮引起的操作。 因此,当按下一个不同的按钮时,如何使编辑停止。 我为JFormattedTextField尝试了setFocusLostBehavior(JFormattedTextField.COMMIT) ,但它似乎没有效果。 希望有人有一些好主意=)

删除对可编辑jtable单元格的关注

双击jtable的可编辑单元格时,如此处显示。 我需要的是如果用户在输入值之前按下鼠标在按钮之外,则应自动输入现有值,输出应如下所示。 任何帮助或建议将不胜感激。

将JComboBox添加到JTable单元格

可能重复: 如何将JComboBox添加到JTable单元格? 我发现很难将JComboBox到JTable其中一个单元格中,我尝试了下面的代码,但它不起作用.. 如何将jcombobox添加到特定单元格? 按下enter应自动将新的jcombobox添加到所需的列中。 jTable1 = new javax.swing.JTable(); mod=new DefaultTableModel(); mod.addColumn(“No”); mod.addColumn(“Item ID”); mod.addColumn(“Units”); mod.addColumn(“Amount”); mod.addColumn(“UOM”); mod.addColumn(“Delivery Date”); mod.addColumn(“Total Amount”); mod.addColumn(“Notes”); mod.addColumn(“Received”); mod.addRow(new Object [][] { {1, null, null, null, null, null, null, null, null} }); jTable1.setModel(mod); jTable1.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(generateBox())); jTable1.setColumnSelectionAllowed(true); Code to generate ComboBox private JComboBox generateBox() { JComboBox bx=null; Connection con=CPool.getConnection(); try { […]