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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Java

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

Swing

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

Q&A

解決済

2回答

1842閲覧

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

otftrough

総合スコア476

Java

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

Swing

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

0グッド

0クリップ

投稿2016/05/18 13:04

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

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

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KiyoshiMotoki

2016/05/23 10:18

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

2016/05/23 11:34

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

回答2

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 06:50

KiyoshiMotoki

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otftrough

2016/05/24 10:15

ありがとうございます、ほかのPCを使っていても同じような症状だったので、WindowsのJDK1.8だとSwingのコンポーネント内で文字のレンダリングがうまくいかないというのが多分答えになるんじゃないかと思いました。 JDK1.7が入っているPCを持っていないので試してはいませんが。 あと、回答1行目に関してですが、Javaのソースコードやclassファイルを送るときはJarに圧縮してまとめて送るのが普通だと思っていますが、違いましたか? 質問文にコードを貼らなかったのは、質問していた時点でコードの問題なのかJavaの問題かPCの問題かはっきりしていなかったためです。
KiyoshiMotoki

2016/05/24 12:15

お役に立てたなら、幸いです。 > あと、回答1行目に関してですが(以下略) ご自身の「普通」が他人の普通でもあるとは限りませんよ。 テラタイルで、他の質問者がどのように自分のソースコードを提示しているか確認してみてください。
guest

0

System.out.pringln();が実行される際に別トランザクションで処理を行うことがあるため、直接的には関係がないと思います。

実行して動く時と動かない時がある。

PCのメモリの問題としか考えようがありません。
またはWEB環境か。FireFoxなどでは一部動かないことがある

投稿2016/05/23 05:44

mahoken

総合スコア85

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otftrough

2016/05/23 09:15

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問