java - 在 Java 文本区域中格式化输出

标签 java mysql user-interface formatting output

我正在我的控制台中打印我的 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();
    }
}

感谢您的帮助。

最佳答案

最好使用其中一种记录器为您进​​行格式化。如果不使用某种文本格式库,很难在控制台中控制制表符间距和垂直列对齐方式。记录器可以选择将您的输出存储在您可以用来查看的文本文件中。它还可以很好地格式化输出。

这是最流行的记录器:

http://www.slf4j.org/

如果您必须输出以 self 安慰,则需要使用控制台输出库。看看这个,看起来很有希望:

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

关于java - 在 Java 文本区域中格式化输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13076341/

相关文章:

java - Admob 横幅广告空间不足

mysql - SQL - 在这种情况下可以避免游标吗?

c# - 将 DataTable 保存到数据库表中

php - Mysql连接错误: not showing anything at all

android - 在 Android 中的监听器之间切换

java - 如何存储从 JTextFields、JComboBox 和 JSpinners 获取的数据?

java - 如何在 Java GUI 中做出多项选择

java - RDD 的最后一项未保存到 HDFS

java - 当报告任务中包含 jar 时,Jcoco 不会生成报告

java - 如何解决java中的错误:A node is used in a different document than the one that created it.