• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Ne)

NetBeansを使用し、JAVAで標準出力される文字列をテキストエリアに表示するプログラムで問題が発生

このQ&Aのポイント
  • NetBeansを使用し、JAVAで標準出力される文字列をテキストエリアに表示するプログラムを作成していますが、プログラムを実行すると、テキストエリアがグレーアウトしたり、出力される文字列が表示されなかったりする問題が発生しています。
  • コンソール上では正常に出力されているのに、テキストエリアには出力されないという現象が起きています。
  • 何度かプログラムを再起動すると正常に動作するため、プログラミング的には正しいと思われますが、この問題の対処方法を知っている方がいれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

実物がないので推測の範囲を出ないのだけど 単にプログラム的に間違っているんだと思うわ。 処理の順番が間違っているんじゃないかしら? 上手くいっているように見えるときは たまたまその処理の順番が噛みあっているときなんじゃないかしら?

edogawa999
質問者

お礼

自己解決できました。 おかしな質問をしてしまいまして、すみませんでした。 そして、ありがとうございました。

edogawa999
質問者

補足

ご回答ありがとうございます。 おっしゃる通り、処理タイミングがおかしいのかもしれません。 以下のようなプログラムを作成したのですが、画面表示よりも先にテキストエリアに対して、appendが動作していることになるのですかね? 根本的に作り方がおかしいのかもしれません。 画面表示について、他に良い方法があればご教示願います。 再度の質問で申し訳ありませんが、宜しくお願いします。 public class FrameView extends javax.swing.JFrame //各部品の宣言 private javax.swing.JTextArea jTextArea1; (以下省略) public FrameView() { //画面の初期化 initComponents(); } //画面の初期化 private void initComponents(){ //テキストエリア、ボタン等各部品の初期化 jTextArea1 = new javax.swing.JTextArea(); (以下省略) } public static void main(String[] args) { //自身のインスタンス生成 FrameView fv = new FrameView(); //画面の表示 java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new FrameView().setVisible(true); } }); fv.startClient(); } private void startClient(){ jTextArea1.append("テキストエリアに文字を出力したい"); System.out.println("コンソールには表示される"); } }

関連するQ&A