Привет!
Я делаю вот так:
FocusTraversalPolicy configurationFocus = new FocusTraversalPolicy() {
public Component getComponentAfter(Container focusCycleRoot, Component aComponent) {
if (aComponent.equals(jCheckBoxNonCodedReport)){
return jCheckBoxPerWorktypeCoding;
}else if (aComponent.equals(jCheckBoxPerWorktypeCoding)){
return jCheckBoxDontDoCoding;
} else if (aComponent.equals(jCheckBoxDontDoCoding)){
return jSpinerMaxDiagnosisCode;
}else if (aComponent.equals(jSpinerMaxDiagnosisCode)){
return jcDProcedureCS;
}else if (aComponent.equals(jcDProcedureCS)){
return jButtonAddProcedureSystem;
} else if (aComponent.equals(jButtonAddProcedureSystem)){
return jButtonRenameProcedureSystem;
} else if (aComponent.equals(jButtonRenameProcedureSystem)){
return jcDDiagnosisCS;
} else if (aComponent.equals(jcDDiagnosisCS)) {
return jButtonAddDiagnosisSystem;
} else if (aComponent.equals(jButtonAddDiagnosisSystem)) {
return jButtonRenameDiagnosisSystem;
} else if (aComponent.equals(jButtonRenameDiagnosisSystem)) {
return columsHeaderList;
} else if (aComponent.equals(columsHeaderList)){
return jCheckBoxNonCodedReport;
}
return jCheckBoxNonCodedReport;
}
public Component getComponentBefore(Container focusCycleRoot, Component aComponent) {
if (aComponent.equals(jCheckBoxNonCodedReport)){
return columsHeaderList;
}else if (aComponent.equals(jCheckBoxPerWorktypeCoding )){
return jCheckBoxNonCodedReport;
} else if (aComponent.equals(jCheckBoxDontDoCoding)){
return jCheckBoxPerWorktypeCoding ;
} else if (aComponent.equals(jSpinerMaxDiagnosisCode)){
return jCheckBoxDontDoCoding;
}else if (aComponent.equals(jcDProcedureCS)){
return jSpinerMaxDiagnosisCode;
}else if (aComponent.equals(jButtonAddProcedureSystem)){
return jcDProcedureCS;
} else if (aComponent.equals(jButtonRenameProcedureSystem)){
return jButtonAddProcedureSystem;
} else if (aComponent.equals(jcDDiagnosisCS)) {
return jButtonRenameProcedureSystem;
} else if (aComponent.equals(jButtonAddDiagnosisSystem)) {
return jcDDiagnosisCS;
} else if (aComponent.equals(jButtonRenameDiagnosisSystem)) {
return jButtonAddDiagnosisSystem;
} else if (aComponent.equals(columsHeaderList)){
return jButtonRenameDiagnosisSystem;
}
return jCheckBoxNonCodedReport;
}
public Component getDefaultComponent(Container focusCycleRoot) {
return jCheckBoxNonCodedReport;
}
public Component getFirstComponent(Container focusCycleRoot) {
return jCheckBoxNonCodedReport;
}
public Component getLastComponent(Container focusCycleRoot) {
return columsHeaderList;
}
};
this.setFocusTraversalPolicy(configurationFocus);
columsHeaderLis — это таблица, вот когда по табу фокус передаёться на неё то можно только выйти по CTRL + TAB и то не jCheckBoxNonCodedRepor который по дефаулту должен быть, но собственно проблема в том как реализовать чтобы при проходе либо в перёд по всем ячейкам таблицы, либо назад фокус передавался на следующий компонент контейнера на котором они все находяться??
Я сначала импламентировал FocusTraversalPolicy(), увидел что что-то не так , потом пошол на сан, глянул доку но там вродм так же как и у меня
здесь, тоесть я так понимаю мне надо переопределить какие — то листенеры или ещё что-то самой таблицы, натолкните на нужную мысль плиз.
WBR, Francis.