【问题标题】:Formatting in a textArea append. Java在 textArea 追加格式。爪哇
【发布时间】:2015-01-28 04:30:02
【问题描述】:

在附加 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()

【问题讨论】:

  • 不起作用”描述性不够。实际发生了什么?

标签: java swing user-interface formatting


【解决方案1】:

一般来说,JTextArea 不是最佳选择,您应该使用JTable

详情请见How to Use Tables

但是,请尝试使用更像 textArea.append(String.format("%-8s\t", metaData.getColumnName(i))); 的东西

您还需要在行之间append 一个换行符 (\n)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-24
    • 2020-08-21
    • 2011-10-02
    • 1970-01-01
    • 2012-10-15
    • 2023-03-04
    • 1970-01-01
    • 2013-05-22
    相关资源
    最近更新 更多