알 수없는 SQL 쿼리의 결과 집합을 javafx TextArea에 테이블 형태로 넣으려고합니다. 나는 그것을 완벽하게 할 수 있었지만 나는 정렬에 작은 문제가 있었다. Here is the result that i get문자열 정렬
여기에 내 내 코드입니다 :
private void querySubmitButtonClicked() {
try {
String q = queryTF.getText();
PreparedStatement ps = getConnection().prepareStatement(q);
if ((q.startsWith("INSERT")) || (q.startsWith("UPDATE")) || (q.startsWith("DELETE")))
ps.executeUpdate();
else
queryResult = ps.executeQuery();
ResultSetMetaData rsmd = queryResult.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
StringBuilder sb = new StringBuilder();
String columnsNames = "";
for (int i = 1; i <= numberOfColumns; i++)
columnsNames += String.format("%-40s", rsmd.getColumnName(i));
sb.append(columnsNames + "\n");
while (queryResult.next()) {
String columnsValues = "";
for (int i = 1; i <= numberOfColumns; i++) {
columnsValues += String.format("%-40s", queryResult.getString(i));
}
sb.append(columnsValues + "\n");
}
TextArea resultArea = new TextArea(sb.toString());
resultArea.setEditable(false);
resultArea.setFocusTraversable(false);
resultArea.setStyle("-fx-font-size: 10");
expertPane.setCenter(resultArea);
} catch (SQLException e) {
expertPane.setCenter(msgLabel);
} catch (Exception e) {
e.printStackTrace();
}
}
내가 % 40 대를 사용하여 바로 allignemnt를 사용했지만, 올바르게도 allign wouldnt한다. 나 또한 % 100s 및 % -100s를 사용하여 시도했지만 작업도하지 않았습니다. 도움이 되었습니까?
모노 스페이스 글꼴을 사용할 수 있습니까? Monaco 또는 Courier New와 같습니다. –
@ OleV.V. 글꼴을 Courier New로 변경하면 내 문제가 해결되었습니다! 너 한테 고마워! –