未知の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に変更すると、私の問題が解決しました!ありがとうございました! –