Java Jtable,设置同一列的单元格内容不同

假设我的Jtable有两列,两列的编辑器都是下拉选项,我想要同一行第二列的值跟着第一列变化,具体来说:同一行里,第一列选字母,第二列只能选a、b、c,如果第一列选了数字,第二列只能选1、2、3,不知道这样可不可以实现,在线等,求大神帮帮忙~~先谢过了!

没有问题。


那 JTable cell editor 的方法

Component getTableCellEditorComponent(JTable table, Object value,
  boolean isSelected,
  int row, int column);


 中返回这个 editor component 时设定它的下拉选项,如果你打算两个列共用同一个 editor component 的话,应该确保这个方法被调用时你重置它的下拉列表,(对象实例可以依然是同一个但它对应的下拉列表选项需要改过来,下次回到第一列时双改回第一列的下拉选项列表)。


你已经看到了这个方法已经传递了将要处理的单元格的坐标 row 行 column 列和它的当前值  value,你可以通过列号知道它应该出现的下拉选项是什么,同时如果值已经在当前下拉列表中时设置当前 comboBox.setSelectedValue(value),这主要是用来从其它行的同一列移动焦点过来时要这要这样做。

追问

谢谢。我不是很理解您的意思,Java菜鸟一枚,若您有时间的的话,能不能麻烦您写个小例子~

追答

可以先在百度搜索:

这个文章讲了 JTable 大致是怎么处理单元格的显示与编辑的:
http://zhidao.baidu.com/question/560253416394348244.html

这个文章讲了在一个单元格怎么使用定制的编辑方式:

http://zhidao.baidu.com/question/390836961865222445.html

这个文章演示了一个完整的常见表格的操作:
https://docs.oracle.com/javase/tutorial/uiswing/components/table.html#combobox

温馨提示:内容为网友见解,仅供参考
无其他回答

Java Jtable,设置同一列的单元格内容不同
那 JTable cell editor 的方法 Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column);中返回这个 editor component 时设定它的下拉选项,如果你打算两个列共用同一个 editor component 的话,应该确保这个方法被调用时你重置它的下拉列表,(...

java语言中,如何在同一个窗体的两个面板中分别创建一个空表格、一个有...
面板中放入2个表格, 可以有多种实现方式, 比如表格布局1行2列, 或者绝对布局 我使用JSplitPane 分割面板来实现 参考代码如下 import java.util.Arrays;import java.util.Vector;import javax.swing.BorderFactory;import javax.swing.JFrame;import javax.swing.JScrollPane;import javax.swing.JSplitPane;imp...

如何用java应用程序创建表格
JTable(Object[ ][ ] rowData,Object[ ][ ] columnNames):建立一个显示二维数组数据的表格,且可 以显示列的名称。 JTable(TableModeldm):建立一个 JTable,有默认的字段模式以及选择模式,并设置数据模式。 JTable(TableModeldm,TableColumnModel cm):建立一个 JTable,设置数据模式与字段模式,并 有默认的选择...

Java 分行设置颜色
import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.DefaultListModel;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JList;import javax.swing.JScrollPane;import javax.swing.JTextField;import java.util.Random;public cl...

相似回答