JTable implemensts ListSelectionListener,
void valueChanged(ListSelectionEvent e)
我想实现before valueChanged这样的事件,又如何处理?
2:
如何让JTable不能移动COLUMN???? 就是不能用鼠标拖动COLUMN.
12 个解决方案
#1
呜~~~~~~
没人搞JAVA SWING的吗?
这问题已经困扰我好久了!
没人搞JAVA SWING的吗?
这问题已经困扰我好久了!
#2
JTable里面有个属性,可以设置以下,COLUMN就不可以移动
#3
帮你顶!
#4
解释一下你的第一个问题,我没明白你说的before valuechange是什么意思?
2:jTable.getTableHeader( ).setReorderingAllowed( false );就可以让你的table列不能拖动了,如果你也不想改变列的长度,就把他的长度也设定为固定值。
#5
好象没有这样的事件,不过你应该可以通过继承tableModel来实现,每次修改model的值以前进行捕获,可以否?
#6
ouyangdong(萧十八郎) :
谢谢你的回答,我解释一下第一个问题的意思:
JTable.getSelectionModel().addListSelectionListener(new ListSelectionListener()
public void valueChanged(ListSelectionEvent e)
它只有valueChanged事件,但我不想它在Changed后才开始执行我的代码,
我希望它在没滚动前就执行我的代码,也就是我说的Befort valueChange
用过DELPHI吗?就象它的Table控件,它就有BeforeScroll事件.
谢谢你的回答,我解释一下第一个问题的意思:
JTable.getSelectionModel().addListSelectionListener(new ListSelectionListener()
public void valueChanged(ListSelectionEvent e)
它只有valueChanged事件,但我不想它在Changed后才开始执行我的代码,
我希望它在没滚动前就执行我的代码,也就是我说的Befort valueChange
用过DELPHI吗?就象它的Table控件,它就有BeforeScroll事件.
#7
tainy_zhang(tainy_zhang) :
跟tableModel有关系吗?
,它只是JTABLE的滚动事件,没改变MODEL.
请你说清楚点,谢谢.
跟tableModel有关系吗?
,它只是JTABLE的滚动事件,没改变MODEL.
请你说清楚点,谢谢.
#8
哦,在valueChanged方法中,只有你改变了选择的行,而选择另一行时蔡响应。比如,开始你选择行A,然后当你选择行B后,这个事件响应,这时候table中被选定的是B,你得不到A的信息,你的意思是党你要选择B的时候就响应事件,而且能够得到A的信息.如果是这样,你可以使用鼠标的事件。
我没用过Delphi,不知道他的beforescroll到底有什么特殊性。
我没用过Delphi,不知道他的beforescroll到底有什么特殊性。
#9
ouyangdong(萧十八郎) :
谢谢你的回答,
但鼠标事件有它的特殊性,那就是必须用鼠标,但jtable 的 selection事件是不光是鼠标的,它更注重的是改变,而不是方式,不管你用键盘还是鼠标它都会监听到.
所以除非我把它滚动的所有方式都监听,但那样不太好,因为这样毕竟会有想得不够全面的时候的.
所以还是不太明白怎么去弄,可能要不同问题不同分析了,用其他方法实现.
可能是我用得不好,JAVA SWING 有时在事件处理上有些会用得不太顺手.
其实我也没怎么用过DELPHI,呵.
谢谢你的回答,
但鼠标事件有它的特殊性,那就是必须用鼠标,但jtable 的 selection事件是不光是鼠标的,它更注重的是改变,而不是方式,不管你用键盘还是鼠标它都会监听到.
所以除非我把它滚动的所有方式都监听,但那样不太好,因为这样毕竟会有想得不够全面的时候的.
所以还是不太明白怎么去弄,可能要不同问题不同分析了,用其他方法实现.
可能是我用得不好,JAVA SWING 有时在事件处理上有些会用得不太顺手.
其实我也没怎么用过DELPHI,呵.
#10
哦。那你就告诉我你要实现的功能吧,发生什么变化纪录什么信心,需要那些信息?
#11
因为我要在它滚动前知道是否要保存没滚动前的信息,一但滚动了,信息就没了!
所以我想不让它滚动!但要把信息每时每刻都存储起来供保存这种方式是不可行的.
我换了种方式去实现了!虽然效果一般,但还可用,用户也接受.
所以我想不让它滚动!但要把信息每时每刻都存储起来供保存这种方式是不可行的.
我换了种方式去实现了!虽然效果一般,但还可用,用户也接受.
#12
哦,我明白,我想想有什么直接的方法没有。
#1
呜~~~~~~
没人搞JAVA SWING的吗?
这问题已经困扰我好久了!
没人搞JAVA SWING的吗?
这问题已经困扰我好久了!
#2
JTable里面有个属性,可以设置以下,COLUMN就不可以移动
#3
帮你顶!
#4
解释一下你的第一个问题,我没明白你说的before valuechange是什么意思?
2:jTable.getTableHeader( ).setReorderingAllowed( false );就可以让你的table列不能拖动了,如果你也不想改变列的长度,就把他的长度也设定为固定值。
#5
好象没有这样的事件,不过你应该可以通过继承tableModel来实现,每次修改model的值以前进行捕获,可以否?
#6
ouyangdong(萧十八郎) :
谢谢你的回答,我解释一下第一个问题的意思:
JTable.getSelectionModel().addListSelectionListener(new ListSelectionListener()
public void valueChanged(ListSelectionEvent e)
它只有valueChanged事件,但我不想它在Changed后才开始执行我的代码,
我希望它在没滚动前就执行我的代码,也就是我说的Befort valueChange
用过DELPHI吗?就象它的Table控件,它就有BeforeScroll事件.
谢谢你的回答,我解释一下第一个问题的意思:
JTable.getSelectionModel().addListSelectionListener(new ListSelectionListener()
public void valueChanged(ListSelectionEvent e)
它只有valueChanged事件,但我不想它在Changed后才开始执行我的代码,
我希望它在没滚动前就执行我的代码,也就是我说的Befort valueChange
用过DELPHI吗?就象它的Table控件,它就有BeforeScroll事件.
#7
tainy_zhang(tainy_zhang) :
跟tableModel有关系吗?
,它只是JTABLE的滚动事件,没改变MODEL.
请你说清楚点,谢谢.
跟tableModel有关系吗?
,它只是JTABLE的滚动事件,没改变MODEL.
请你说清楚点,谢谢.
#8
哦,在valueChanged方法中,只有你改变了选择的行,而选择另一行时蔡响应。比如,开始你选择行A,然后当你选择行B后,这个事件响应,这时候table中被选定的是B,你得不到A的信息,你的意思是党你要选择B的时候就响应事件,而且能够得到A的信息.如果是这样,你可以使用鼠标的事件。
我没用过Delphi,不知道他的beforescroll到底有什么特殊性。
我没用过Delphi,不知道他的beforescroll到底有什么特殊性。
#9
ouyangdong(萧十八郎) :
谢谢你的回答,
但鼠标事件有它的特殊性,那就是必须用鼠标,但jtable 的 selection事件是不光是鼠标的,它更注重的是改变,而不是方式,不管你用键盘还是鼠标它都会监听到.
所以除非我把它滚动的所有方式都监听,但那样不太好,因为这样毕竟会有想得不够全面的时候的.
所以还是不太明白怎么去弄,可能要不同问题不同分析了,用其他方法实现.
可能是我用得不好,JAVA SWING 有时在事件处理上有些会用得不太顺手.
其实我也没怎么用过DELPHI,呵.
谢谢你的回答,
但鼠标事件有它的特殊性,那就是必须用鼠标,但jtable 的 selection事件是不光是鼠标的,它更注重的是改变,而不是方式,不管你用键盘还是鼠标它都会监听到.
所以除非我把它滚动的所有方式都监听,但那样不太好,因为这样毕竟会有想得不够全面的时候的.
所以还是不太明白怎么去弄,可能要不同问题不同分析了,用其他方法实现.
可能是我用得不好,JAVA SWING 有时在事件处理上有些会用得不太顺手.
其实我也没怎么用过DELPHI,呵.
#10
哦。那你就告诉我你要实现的功能吧,发生什么变化纪录什么信心,需要那些信息?
#11
因为我要在它滚动前知道是否要保存没滚动前的信息,一但滚动了,信息就没了!
所以我想不让它滚动!但要把信息每时每刻都存储起来供保存这种方式是不可行的.
我换了种方式去实现了!虽然效果一般,但还可用,用户也接受.
所以我想不让它滚动!但要把信息每时每刻都存储起来供保存这种方式是不可行的.
我换了种方式去实现了!虽然效果一般,但还可用,用户也接受.
#12
哦,我明白,我想想有什么直接的方法没有。