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

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

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

NetBeansは Java、HTML5、PHP、C/C++のアプリケーションのフレームワーク、もしくは統合開発環境(NetBeans IDE)の両方を指します

Java

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

Q&A

1回答

1068閲覧

jButtonのテキストとして、いくつかの文字を連続して表示したい。

lereve

総合スコア12

NetBeans

NetBeansは Java、HTML5、PHP、C/C++のアプリケーションのフレームワーク、もしくは統合開発環境(NetBeans IDE)の両方を指します

Java

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

0グッド

0クリップ

投稿2018/11/26 04:42

前提・実現したいこと

NetBeansを使って、ビンゴゲームを作っています。
処理内容としては、画面上に表示されたボタンをクリックすると、
そのボタンのテキストをランダムに(1~75)変更する、といった内容です。

[開発環境]
NetBeansを使っています。

[OS]
windows10Proにて開発しています。
使用するPCはwindows7以上を想定しています。

## 発生している問題・メッセージ
ボタンのテキストを変更する前に、いくつかのテキストを連続して表示し、
ドラムロール演出のような動作をさせたいと思っています。
(数字が高速で表示されるやつです…。名称がわからないのですが…。)

そこでThread.sleep()を使い、テキストを変更した後、少し時間を空けて
再度テキストを変更する、といった力業で実現しようと試みたのですが、
私の目にはテキストが変更されているようには見えません。

やり方が間違えているのでしょうか。

java

1 Thread.sleep(100); 2 jButtonStart.setText("00");  //適当な数字 3 Thread.sleep(100); 4 jButtonStart.setText("88");  //適当な数字 5 Thread.sleep(100); 6 jButtonStart.setText("33");  //適当な数字 7              ・ 8              ・ 9              ・ 10              ・

よろしくお願いします。

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

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

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

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

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

guest

回答1

0

sleep( 100 );

だと1秒に10回変更されるからでは?

sleep( 500 );

くらいで十分だと思います(違いましたらすいません)

あと

私の目にはテキストが変更されているようには見えません。

はかなり不明確なのでやめていただきたいです...

###コメントを読んで
repaint(); を追加してみてください。再描画して表示できるかもしれません。解決しませんでしたらまたお願いします。

投稿2018/11/26 09:29

編集2018/11/27 08:03
yukkuri

総合スコア624

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

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

lereve

2018/11/27 00:32

yukkuri様 ご回答いただきありがとうございます。 まずは、質問内容に不明確な点があったとのことで、申し訳ありませんでした。 当方の知識不足により、「処理上はボタンのテキストが変更されているが、早すぎて見えない」 ことや、「設定なりスペックなりの影響で見えていないだけ」などの問題を懸念した結果の 質問内容であり、不明確な質問内容にするつもりはありませんでした。 本質問の趣向とは異なりますが、ご迷惑でなければ今後このような場合の 質問の仕方をご教示いただけないでしょうか。 また、当方の説明も不十分だったようで、ご迷惑をおかけし申し訳ありませんでした。 Thread.sleep(100); を Thread.sleep(500); に直してもテキストは変更されませんでした。 ボタンを押してから指定した時間分、処理は止まるのですが、 ボタンのテキストが変更されていない状態です。 (ボタンクリック後、しばらく(Thread.Sleepで指定した時間分)ボタンは暗くなる(押されている) 状態になるのですが、Thread.SleepとThread.Sleepの間に記載したjButtonStart.setText();が 反映されていないような状態で、Thread.Sleepの指定を長くするとボタンが暗くなる時間が長くなるだけに留まっています。) 申し訳ありませんが、引き続きご教示いただけないでしょうか。
lereve

2018/11/28 00:11

yukkuri様 お世話になります。 早速試してみたのですが、解決できませんでした。 デバッグで1行ずつ実行してみたのですが、.setText()を通過しても ボタンのTextが変更されておらず、ボタンが押されている状態で次の行へ進んでしまいます。 また、Thread.Sleepを省いてみても同じ状態です。 お手数おかけしますが、引き続きご教示いただけませんでしょうか。 よろしくお願いします。 Thread.sleep(100); jButtonStart.setText("00"); repaint(); Thread.sleep(100); repaint(); jButtonStart.setText("88"); repaint(); Thread.sleep(100); repaint(); jButtonStart.setText("33"); repaint(); Thread.sleep(100); repaint();
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問