簡體   English   中英

在Java文本區域中格式化輸出

[英]Formatting output in a Java text area

我正在控制台中將MySQL查詢的輸出打印到gui應用程序的文本區域中。 現在,只要名稱長於其寬度,列就會在文本區域中混亂。 如何修復下面的代碼段以使到文本區域的輸出看起來均勻?

else if (e.getSource() == executeButton) {
    //Create a statement
    try{
        String commandString = enterSQLText.getText();
        Statement statement = conn.createStatement();
        //Execute a statement
        ResultSet resultSet = statement.executeQuery(commandString);
        //Process query results
        ResultSetMetaData metaData = resultSet.getMetaData();
        int numberOfColumns = metaData.getColumnCount();

        for(int i = 1; i<= numberOfColumns; i++){
            executionResultText.append(metaData.getColumnName(i) + "\t");
            System.out.printf("%20s\t", metaData.getColumnName(i));
        }
        executionResultText.append("\n");
        System.out.println();

        while (resultSet.next()){
            for (int i = 1; i <= numberOfColumns; i++){
                executionResultText.append(resultSet.getObject(i).toString() + "\t");
                System.out.printf("%20s\t", resultSet.getObject(i));
            }
            executionResultText.append("\n");
            System.out.println();
        }
        System.out.println("Execute Button Works!");
    }
    catch (Exception h){
        h.printStackTrace();
    }
}

感謝您的幫助。

最好使用其中一個Logger為您進行格式化。 如果不使用某種文本格式庫,則很難在控制台中控制制表符間距和垂直列對齊。 Logger可以選擇將輸出存儲在文本文件中,以供查看。 它也可以很好地格式化輸出。

這是最受歡迎的記錄器:

http://www.slf4j.org/

如果必須輸出以自己進行控制台,則需要使用控制台輸出庫。 看看這個,看起來很有希望:

http://www.codeproject.com/Articles/24896/JLib-A-Windows-Console-Library

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM