質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.48%

  • Java

    14153questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Swing

    230questions

    SwingはJavaに標準で付属するグラフィック関連のクラスライブラリを指します。

System.out.println()を入れると処理が安定するのは気のせいでしょうか?

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 546

otftrough

score 329

主にswingのJFrameを使ってアプリケーションを作っていますが、今回はデザイン上、ウィンドウを非表示で文字だけをJLabelで画面上に表示させるプログラムを作ったところ、同じように実行しても
ちゃんと実行出来る時とそうでない時があります。
例外も出ず最後まで処理をして、例外も表示されないのでどこでどんなエラーがでてそうなっているのか分からず、所々にSystem.out.println()を入れてみると、入れる度に正しく動作する頻度が上がります。
これは理由がありますか?

作っているのはこちらです。
あと、これはメインの質問内容と異なりますが、フレームにアイコンを設定するとエラーは出ませんがやはり動かないようですが、プログラム内で指定した時間が経過すると正しく終了します。

クラス名が全小文字なのはごめんなさい

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • KiyoshiMotoki

    2016/05/23 19:18

    Jarファイルではなく、ソースファイルを見せていただけると、回答を得やすくなるかもしれません。

    キャンセル

  • otftrough

    2016/05/23 20:34

    もちろんJarファイルの中に入れありますがなにか

    キャンセル

回答 2

checkベストアンサー

0

もちろんJarファイルの中に入れありますがなにか

そんな分かりにくい提示方法の何が「もちろん」なのか分かりませんが、、


結論から言うと、よく分かりませんw

とりあえず「そうでない時」というのが

  • アプリが起動しない
  • 異常終了する
  • 文字が正常に流れない

のいずれかという前提で話をさせていただくと、

少なくとも私の環境(※)では、System.out.printlnの有無にかかわらず常に正常に動作しました。
  ※ Mac OS X 10.9, Intel Corei7, 8GB Mem, JDK1.6 および 1.7
    JDK1.7 で実行したときは背景が黒くなりませんでしたが、これは毎回のことでした。

また、私が見る限り、プログラムの内容自体におかしい箇所は見受けられません。

そのため、お使いの環境に起因する何かなのではないかと予想します。

1点、気になったのは、WindowsのJDK1.8だとSwingのコンポーネント内で文字のレンダリングがうまくいかない、という記事をいくつか見つけたことくらいでしょうか。
http://stackoverflow.com/questions/22737535/swing-rendering-appears-broken-in-jdk-1-8-correct-in-jdk-1-7
https://yakovfain.com/2014/06/27/swing-rendering-seems-to-be-broken-in-java-8/
https://bugs.openjdk.java.net/browse/JDK-8031328

ご参考までに。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/05/24 19:15

    ありがとうございます、ほかのPCを使っていても同じような症状だったので、WindowsのJDK1.8だとSwingのコンポーネント内で文字のレンダリングがうまくいかないというのが多分答えになるんじゃないかと思いました。
    JDK1.7が入っているPCを持っていないので試してはいませんが。

    あと、回答1行目に関してですが、Javaのソースコードやclassファイルを送るときはJarに圧縮してまとめて送るのが普通だと思っていますが、違いましたか?
    質問文にコードを貼らなかったのは、質問していた時点でコードの問題なのかJavaの問題かPCの問題かはっきりしていなかったためです。

    キャンセル

  • 2016/05/24 21:15

    お役に立てたなら、幸いです。

    > あと、回答1行目に関してですが(以下略)

    ご自身の「普通」が他人の普通でもあるとは限りませんよ。

    テラタイルで、他の質問者がどのように自分のソースコードを提示しているか確認してみてください。

    キャンセル

0

System.out.pringln();が実行される際に別トランザクションで処理を行うことがあるため、直接的には関係がないと思います。
>>実行して動く時と動かない時がある。
PCのメモリの問題としか考えようがありません。
またはWEB環境か。FireFoxなどでは一部動かないことがある

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/05/23 18:15

    回答ありがとうございます。
    System.out.println()が関係しているように思えたのは偶然なんですね。
    Javaアプレットではありませんので、ブラウザ等は関係ないと思いますが。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.48%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Java

    14153questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Swing

    230questions

    SwingはJavaに標準で付属するグラフィック関連のクラスライブラリを指します。