【问题标题】:using system.out.print() in a texarea在 textarea 中使用 system.out.println()
【发布时间】:2015-08-07 08:29:13
【问题描述】:

正在开发一个应用程序来查询表并在 JTextarea 中将其打印出来,但没有响应而是标记错误“非法开始表达式”请是新手,我需要帮助,这是我的代码,谢谢

try{
  //get connection to the database
      Connection myconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/cbt_for_java", "root","");
  //create a statement
      Statement mystmt=myconn.createStatement();
  //execute sql query
      ResultSet myrs = mystmt.executeQuery("select * from  jamb WHERE ID = '1'");
  //process the result set

     // System.out.println(myrs.getString("ID") + "." + myrs.getString("question"));


  }
  catch(Exception exc){
  exc.printStackTrace();
  }

  BorderLayout questionareaLayout = new BorderLayout();
  JPanel questionp = new JPanel();
  JTextArea question=new

//this is where the problem is
JTextArea(System.out.println(myrs.getString("ID") + "." + myrs.getString("question"));,22,111);
  question.setEditable(false);
  questionp.add(question);
  add(questionp);

【问题讨论】:

  • 你可能想使用setText()或直接使用JtextArea("this is the text");而不使用system.out.println()
  • 请人帮忙
  • 嗯,@UmaKanth 确实有帮助。
  • System.out.println() 用于在标准输出上打印字符串,它不返回任何内容。
  • 要更改JTextArea 的内容,请使用setText()append()。但是,如果你真的想要,你可以将System.out 重定向到JTextAreastackoverflow.com/questions/14706674/…

标签: java swing jtextarea


【解决方案1】:

System.out.println() 确实有返回值,因此您不能使用它来设置值。它的作用是写入控制台。

要在文本字段中设置值,请使用 setText(),而不使用 System.out.println

【讨论】:

    【解决方案2】:

    而不是传递给 JTextArea 的构造函数的复杂表达式(不会用作正确的参数)

    System.out.println(myrs.getString("ID") + "." + myrs.getString("question"));,22,111
    

    尝试先创建一个字符串,然后将其作为参数传入,如下所示:

    String text = "id" + "text" + "stuff";
    JTextArea question = new JTextArea(text);
    

    【讨论】:

      【解决方案3】:

      System.out.println 将打印到命令行,你不能用它来设置你需要做的 JTextArea 中的文本:

      JTextArea question = new JTextArea(22,111);
      question.setText(myrs.getString("ID") + "." + myrs.getString("question"));
      

      【讨论】:

        【解决方案4】:
        String s=myrs.getString("ID") + "." + myrs.getString("question");
        

        在这里,您将在s 中获取您的字符串,现在将字符串与其他参数一起传递。

        JTextArea(s,22,111);
        

        【讨论】:

        • @Roy James 和 Piyush Mittal 谢谢,但它并没有解决我的问题,而是在这一行出现错误:在 cbt.exam.examwindow.(examwindow.java:169)跨度>
        猜你喜欢
        • 2012-03-16
        • 2012-02-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-27
        • 2012-01-25
        相关资源
        最近更新 更多