현재 JavaFx를 사용하여 데이터베이스를 검색하는 소프트웨어 모듈을 만들고 있습니다. 모든 것이 예상대로 작동합니다. 그러나 유일한 문제점은 결과 테이블에서 검색에 대한 세부 정보가 부족하다는 것입니다 (UX 관련 문제 : 너무 자세하고 긴 텍스트가 있음). TextFields 및 TextArea에서 클릭 한 행의 모든 세부 정보가 포함 된 새 창을 표시하고 싶습니다. 여러 자습서와 답변을 살펴 보았지만 불행히도 아무 것도 작동하지 않습니다. 도움이 될 것입니다. 감사합니다.새 창에서 검색 결과 (JavaFx)
SearchResult.setOnMouseClicked(new EventHandler<MouseEvent>() {
Gemo temp;
@Override
public void handle(MouseEvent event) {
Gemo row = SearchResult.getSelectionModel().getSelectedItem();
if(row == null) {
System.out.print("I am not in");
return ;
}
else {
temp = row;
String id = String.format(temp.getRef());
System.out.println(id);
FXMLLoader loader=new FXMLLoader();
loader.setLocation(getClass().getResource("DetailsWindow.fxml"));
ControllerDetails gemodetails=loader.getController();
ControllerDetails gd=new ControllerDetails();
gd.SearchById(id);
try{
loader.load();
} catch (IOException e) {
e.printStackTrace();
}
Parent p= loader.getRoot();
Stage stage=new Stage();
stage.setTitle("More Details");
stage.setScene(new Scene(p));
stage.show();
}
}
});
public class ControllerDetails {
@FXML
private TextField fn_patient;
@FXML
private TextField ln_patient;
@FXML
private TextField db_patient;
@FXML
private TextField id_patient;
@FXML
private TextField id_visit;
@FXML
private TextField date_visit;
@FXML
private TextField fn_user;
@FXML
private TextField ln_user;
@FXML
private TextField status;
@FXML
private TextArea com;
@FXML
public void initialize(){
}
public void SearchById(String id) {
Connection connection = null;
PreparedStatement statement = null;
ResultSet rs = null;
try {
connection = ConnectionConfiguration.getConnection();
statement = connection.prepareStatement("my_sql_query");
rs = statement.executeQuery();
while (rs.next()) {
id_visit.setText(rs.getString(1));
id_patient.setText(rs.getString(2));
date_visit.setText(rs.getString(3));
com.setText(rs.getString(4));
fn_patient.setText(rs.getString(5));
ln_patient.setText(rs.getString(6));
db_patient.setText(rs.getString(7));
fn_user.setText(rs.getString(8));
ln_user.setText(rs.getString(9));
status.setText(rs.getString(10));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
질문에 더 많은 노력을 기울여야합니다. 지금까지 수행 한 작업, 로그, 코드 등을 보여줍니다. https://stackoverflow.com/help/how-to-ask – Rolo
https://stackoverflow.com/에 설명 된 기술 중 하나를 사용하지 않는 이유는 무엇입니까? 질문/14187963/passing-parameters-javafx-fxml? –