簡単な絵を書くプログラムを下のようにつくりました。
こんなようなソースが公開されているサイトをご存知のかたは教えていただけないでしょうか??
おねがいします!!
import java.awt.*;
import java.awt.event.*;
public class mouse5 extends Frame implements MouseListener , MouseMotionListener{
//グローバル変数
int x0,y0;
Color objectColor = Color.red;
//コンストラクタ
public mouse5(){
setSize(400,300);
//マウスイベント
addMouseListener(this);
addMouseMotionListener(this);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
//paint
public void paint(Graphics g){
}
//マウスが押されたら
public void mousePressed(MouseEvent e){
//始点の座標
x0 = e.getX();
y0 = e.getY();
}
//マウスが放されたら
public void mouseReleased(MouseEvent e){
}
//マウスがクリックされたら
public void mouseClicked(MouseEvent e){
}
//マウスが画面に入ったら
public void mouseEntered(MouseEvent e){
}
//マウスが画面から出たら
public void mouseExited(MouseEvent e){
}
//マウスがドラックされたら
public void mouseDragged(MouseEvent e){
//線を引く
Graphics g = getGraphics();
g.drawLine(x0,y0,e.getX(),e.getY());
g.dispose();
//次のために始点を更新
x0 = e.getX();
y0 = e.getY();
}
//マウスが動いたら
public void mouseMoved(MouseEvent e){
}
//main
public static void main(String[] args)
{
Frame w = new mouse5();
w.show();
}
}
No.5ベストアンサー
- 回答日時:
Graphics#setColor(Color color)
でこれから描く線の色を変更できます。
Colorオブジェクトをインスタンス変数として保持しておき、ボタンをクリックされたときにこの変数の内容を変えれば、線の色を変更できます。
なお、この変数をコンストラクタなどで初期化しておくことを忘れずに。
No.3
- 回答日時:
>ボタンを押したら赤になるプログラム
意味が2通りに受け取れます。
1.これから描く線の色を変える
2.既に描いてある線の色を変える
どちらでしょうか?
2の場合は、対象とする線を選択する処理もしなくてはならないので、結構難しくなります。
No.2
- 回答日時:
こんばんは、#1です。
色を変えることを考える前にアプリケーションを何とか形にしないといけないと思います。
bluewing1999さんのプログラムがシンプルに見えるのは、まだ、未完成だからです。
プログラムを起動してみてください。
いっけん線を描くことができて、形になっているように見えますが、ウインドウを最小化したり、他のウインドウを重ね合わせてしてみてください。
せっかく描いた線が消えてしまうはずです。
これでは、シンプルなものとはいえペイントソフトとしては、不十分です。
もう一度、#1で示したページを読み直してみてください。
ヒントがあるはずです。
No.1
- 回答日時:
この回答への補足
たしかに似ていますね!ありがとうございます。
でも、ちょっと私のより難しいですね。。
私のソースだと黒い線が書けるようになっているのですが
これをボタンを押したら赤になるプログラムを作りたいと思っているのですがそれはどうやればよろいしいのでしょうか??
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java java final 1 2022/06/10 22:49
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- Java eclipse実行ができない 2 2022/07/27 04:47
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C# 矢印キーの取得
-
正規表現
-
Visual C♯ フォーム間での値の...
-
アプレットでマウスイベントが...
-
コンボボックスを使う時の警告
-
エンターキーを押すとOKボタン...
-
C# 半角カナの文字化けについて
-
ボタンの複数割り当てについて
-
配列の受け渡し
-
大量のデータを読み込んで表示...
-
JavaプログラムのUML化
-
パスがとおらない・・・
-
C#でのWNetAddConnection3の使...
-
Thread.sleepのInterruptedExce...
-
Processingでマウスクリックで...
-
キーリピート?(Javaプログラミ...
-
フェードアウト時にぶちっと画...
-
C#で、あるクラスのメンバーす...
-
長方形をドラッグするJavaアッ...
-
Javaの課題について質問です。...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
大量のデータを読み込んで表示...
-
ボタンの複数割り当てについて
-
C#で、あるクラスのメンバーす...
-
Junitテストでvoid戻り値メッソ...
-
C#でのWNetAddConnection3の使...
-
C# 矢印キーの取得
-
Thread.sleepのInterruptedExce...
-
unityでのC++エラーの原因がわ...
-
C#で別のFormへ複数の値を返そ...
-
C# visibleプロパティをfalseに...
-
エンターキーを押すとOKボタン...
-
Processingでマウスクリックで...
-
C#でキーイベントが発生しない...
-
[C#.net]スレッド化された別フ...
-
C# DataGridView列カスタマイズ
-
【C#】ソースコードをファイル...
-
LVM_SETITEMSTATEでListViewの...
-
GetDIBits関数の使い方について
-
未割り当てのローカル変数
-
C# MouseHoverを何度も呼ぶには
おすすめ情報