Appletで
円が徐々に大きくなる。
一定の直径を超えるたびに色が変わる。
最大まで大きくなったら、縮んで色を変えながらもとの大きさに戻る。
というのを延々繰り返すものを作りました。
コードは以下です。
import java.applet.*;
import java.awt.*;
import java.awt.Color;
public class project4 extends Applet implements Runnable{
int x;
Thread th;
public void start(){
th = new Thread(this);
th.start();
}
public void run(){
while(1==1) {
for (x =0; x<=180; ++x)
{
repaint();
try{
Thread.sleep(100);
}
catch( InterruptedException e){
}
}
for (; x>=0; --x)
{
repaint();
try{
Thread.sleep(100);
}
catch( InterruptedException e){
}
}
}
}
public void paint (Graphics g){
if (x<=18)
{g.setColor(Color.blue);
}
g.fillOval(150,150,20+x,20+x);
if ((x >18) && (x<=36))
{g.setColor(Color.darkGray);
}
g.fillOval(150,150,20+x,20+x);
if ((x >36) && (x<=54))
{g.setColor(Color.yellow);
}
g.fillOval(150,150,20+x,20+x);
if ((x >54) && (x<=72))
{g.setColor(Color.green);
}
g.fillOval(150,150,20+x,20+x);
if ((x >72) && (x<=90))
{g.setColor(Color.orange);
}
g.fillOval(150,150,20+x,20+x);
if ((x >90) && (x<=108))
{g.setColor(Color.red);
}
g.fillOval(150,150,20+x,20+x);
if ((x >72) && (x<=108))
{g.setColor(Color.yellow);
}
g.fillOval(150,150,20+x,20+x);
if ((x >108) && (x<=126))
{g.setColor(Color.magenta);
}
g.fillOval(150,150,20+x,20+x);
if ((x >126) && (x<=144))
{g.setColor(Color.orange);
}
g.fillOval(150,150,20+x,20+x);
if ((x >144) && (x<=162))
{g.setColor(Color.cyan);
}
g.fillOval(150,150,20+x,20+x);
if ((x >162) && (x<=180))
{g.setColor(Color.pink);
}
g.fillOval(150,150,20+x,20+x);
}
}
ここに ボタンを押したら、円の動きがとまる
というeventを増やしたいのですが、どうすればよいかアドバイスをいただけませんか。ボタンを使うにはActionListenerを実装しなければならないと思うのですがRunnableと共存はできますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ボタンの複数割り当てについて
-
【Java】画像表示が出来ない!
-
Javaでタイマーの使い方
-
大量のデータを読み込んで表示...
-
Thread.sleepのInterruptedExce...
-
java のstruts1.3です。
-
C#で、あるクラスのメンバーす...
-
C# DataGridView列カスタマイズ
-
C#でキーイベントが発生しない...
-
C#で別のFormへ複数の値を返そ...
-
C# 矢印キーの取得
-
JavaFXでの表内のチェックボッ...
-
C#でのWNetAddConnection3の使...
-
ループ処理の際、最後だけ","を...
-
C言語のポインターに関する警告
-
System.out.printlnの意味がよ...
-
Javaで改行などが出来ないのです。
-
System.err. printlnとSystem.o...
-
eclipseに記述したjavaファイル...
-
Java配列でNullPointerExceptio...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
大量のデータを読み込んで表示...
-
Junitテストでvoid戻り値メッソ...
-
C#で、あるクラスのメンバーす...
-
C#でのWNetAddConnection3の使...
-
C# visibleプロパティをfalseに...
-
unityでのC++エラーの原因がわ...
-
ボタンの複数割り当てについて
-
C#で別のFormへ複数の値を返そ...
-
エンターキーを押すとOKボタン...
-
LVM_SETITEMSTATEでListViewの...
-
ユーザーコントロールを動的に...
-
[C#.net]スレッド化された別フ...
-
C# 矢印キーの取得
-
C#から、C++で作成したdll内の...
-
C# DataGridView列カスタマイズ
-
C#でキーイベントが発生しない...
-
Thread.sleepのInterruptedExce...
-
C#でのオブジェクトのコピーに...
-
C# 半角カナの文字化けについて
-
文字列の置換
おすすめ情報