在 textArea 追加中格式化。 Java
Formatting in a textArea append. Java
在 textArea
中追加时如何格式化文本?
try{
//establish connection to database
connection= DriverManager.getConnection(DATABASE_URL, "Hotel", "1234");
//create statement for querying database
statement = connection.createStatement();
// statement.executeUpdate("INSERT INTO TBLSTUDENT VALUES("+id+",'"+name+"','"+course+"',"+age+")");
//query database
resultSet = statement.executeQuery("SELECT * FROM Customer");
//process query results
ResultSetMetaData metaData = resultSet.getMetaData();
int numberOfColumns = metaData.getColumnCount();
textArea.append("Hotel Database: \n");
for(int i=1; i<=numberOfColumns; i++){
textArea.append(metaData.getColumnName(i));//"%-8s\t",
}
System.out.println();
while(resultSet.next()){
for(int i=1; i<=numberOfColumns;i++){
textArea.append(resultSet.getObject(i).toString());
}
System.out.println();
}
}catch(SQLException sqlException){
sqlException.printStackTrace();
}
现在的输出是它只附加到一行。
应该是
第 1 列-第 2 列-第 3 列
数据1-数据2-数据3
我尝试使用格式 %-8s\t
,但它不适用于 .append()
一般来说,JTextArea
不是最好的选择,你应该使用JTable
有关详细信息,请参阅 How to Use Tables
但是,请尝试使用更像 textArea.append(String.format("%-8s\t", metaData.getColumnName(i)));
的东西来代替
您还需要 append
行之间的换行符 (\n
)
在 textArea
中追加时如何格式化文本?
try{
//establish connection to database
connection= DriverManager.getConnection(DATABASE_URL, "Hotel", "1234");
//create statement for querying database
statement = connection.createStatement();
// statement.executeUpdate("INSERT INTO TBLSTUDENT VALUES("+id+",'"+name+"','"+course+"',"+age+")");
//query database
resultSet = statement.executeQuery("SELECT * FROM Customer");
//process query results
ResultSetMetaData metaData = resultSet.getMetaData();
int numberOfColumns = metaData.getColumnCount();
textArea.append("Hotel Database: \n");
for(int i=1; i<=numberOfColumns; i++){
textArea.append(metaData.getColumnName(i));//"%-8s\t",
}
System.out.println();
while(resultSet.next()){
for(int i=1; i<=numberOfColumns;i++){
textArea.append(resultSet.getObject(i).toString());
}
System.out.println();
}
}catch(SQLException sqlException){
sqlException.printStackTrace();
}
现在的输出是它只附加到一行。
应该是
第 1 列-第 2 列-第 3 列
数据1-数据2-数据3
我尝试使用格式 %-8s\t
,但它不适用于 .append()
一般来说,JTextArea
不是最好的选择,你应该使用JTable
有关详细信息,请参阅 How to Use Tables
但是,请尝试使用更像 textArea.append(String.format("%-8s\t", metaData.getColumnName(i)));
的东西来代替
您还需要 append
行之间的换行符 (\n
)