我正在尝试为任务记录时间。任务显示在JavaFX TableView中。我使TableView可编辑,因此用户只需双击单个单元格即可更改值。因此,现在我尝试按回车后自定义选择。例如,如果您完成了任务的名称,那么我想重新选择相同的单个单元格。那就是我正在努力的事情。
我试图通过SelectionModel获取单元格。 我试过获取单元格im的TablePosition。 我也尝试使用FocusModel,但最终只是聚焦而不是选择单元格。 (显然)
@FXML
private TableView<Task> taskTableView;
@FXML
private TableColumn<Task, Task> taskTableColumn;
@FXML
private TableColumn<Task, String> durationTableColumn;
@FXML
private TableColumn<Task, String> descriptionTableColumn;
public class TaskController {
taskTableColumn.setOnEditCommit(e -> {
// Selection Mode is Single, dont worry
Task selectedTask = taskTableView.getSelectionModel().getSelectedItem();
// 'Edit the cell value' code, not necessary for this
taskTableView.getSelectionModel().select(selectedTask);
}
}
我希望再次选择该单元格,因为我具有单选的属性。但是事实证明,只是选择连续的最后一个单元格。
编辑:这对我也没有效果。
int selectedIndex = taskEntryTableView.getSelectionModel().getSelectedIndex();
taskEntryTableView.getSelectionModel().select(selectedIndex);
我想到了一个主意,但我不确定是否可行。由于看起来我尝试过的方法只是选择行,因此是否可以从列中获取其他位置?
答案 0 :(得分:0)
我自己得到的,现在我得到它的地方并不难(^^):
@interface UISliderAccessibilityElement : UIAccessibilityElement
- (instancetype)initWithContainer:(id)container Slider:(UISlider*)slider;
@end
@interface UISliderAccessibilityElement()
@property (nonatomic, weak) UISlider* slider;
@end
@implementation UISliderAccessibilityElement
- (instancetype)initWithContainer:(id)container Slider:(UISlider *)slider
{
self = [super initWithAccessibilityContainer:container];
if (self) _slider = slider;
return self;
}
- (UIAccessibilityTraits)accessibilityTraits
{
return UIAccessibilityTraitAdjustable | UIAccessibilityTraitPlaysSound | UIAccessibilityTraitStartsMediaSession;
}
- (void)accessibilityDecrement
{
[_slider accessibilityDecrement];
}
- (void)accessibilityIncrement
{
[_slider accessibilityIncrement];
}
@end