JAVAでボタンが押されたらすでに描かれている線に
さらに線が加わって描かれるというプログラムを作ろうとしているのですが、アクションリスナーを受け取ったメソッドの中身をどうしたらいいのか行き詰まりました・・・作りかけのプログラムを載せてみますので
アドバイスいただければと思います
よろしくお願いします
import java.applet.Applet;
import java.awt.Graphics.*;
import java.awt.event.*;
import java.awt.*;
public class file928 extends Applet implements
ActionListener
{
Button botan;
public void init()
{
botan=new Button("選択");
add(botan);
botan.addActionListener(this);
}
public void paint(Graphics g)
{
g.drawString("L.A.Airport",100,300);
~中略~
g.drawLine(405,420,655,240);
}
public void actionPerformed(ActionEvent x)
{
ーここをどうしたらいいかわかりません・・・ー
}
}
No.4ベストアンサー
- 回答日時:
>交差することをして加えたいとおもっています
交差するということは、元になるものが必要ですが、2回目にボタンを押したときは、最初の線と2本目の線のどちらに対して交差しますか?
なんか、いじめてるみたいに感じるかもしれませんが、プログラムを作るというのは、仕様がはっきりしていないと出来ないものなのです。
「なんだか、よくわからないけど作りたい」では、「何を作るの?」となってしまうのは当然のことです。
ngsvxさま
何度も回答ありがとうございます><
もう少し自分で勉強してみてからもう一度質問すことにしようと考えました。
ありがとうございました
No.3
- 回答日時:
以下のような感じにしてはどうですか?
private Vector m_items = new Vector();
public void paint(Graphics g)
{
Enumeration e = m_items.elements();
Object item;
while( e.hasMoreElements() ) {
item = e.nextElement();
//描画処理
//例えばitemが線だったらg.drawLine(xx,xx,xx,xx)など
//
//itemを描画オブジェクトクラスとして別に定義しておいて
//それにどのような描画属性なのかを保持させる
//ここれはその属性に応じた描画処理を行わせる
//
//あるいは描画オブジェクトクラスのスーパークラスとして
//関数Drawを用意し、ここではそのDrawのみを呼ばせるようにする
}
}
public void actionPerformed(ActionEvent x)
{
//押された時の状況に合わせてm_itemsに描画オブジェクトクラスを追加する
m_items.add( item );
repaint();
}
No.2
- 回答日時:
>後ボタンが押されたら加えられる直線は、
>ある特定の線で常に一定と考えていただければと思います
つまり、
g.drawLine(405,420,655,240);
で描いた線に加えるということでよろしいでしょうか?
この線にどのように加えるのかが未だ不明です。
例
・延長する
・交差する
・触れていれば何でもいい
・触れていなくてもいい
「加える」と言ってもいろいろ考えられます
この回答への補足
何度ももうしわけありません&有難う御座います
文字数の関係で省略していますが、もっと沢山線をかいているのですが、NGSVX樣が書かれている例を全て出来ればいいなと考えているのですが、もしひとつだけと言われれば
交差することをして加えたいとおもっています。
No.1
- 回答日時:
>ボタンが押されたら
>されたらすでに描かれている線にさらに線が加わって描かれる
少なくても、これらの意味が不明瞭です。
これでは誰も正確な回答はできません。
回答があったとしても、それは推測にすぎないのであっている保証はありません。
まずボタンですが、カーソルの位置やボタンの種類は何でもいのでしょうか?
「何でもいいからとにかくボタンが押されたら」という意味なのでしょうか?
次に「加わって」ですが、これも加わればどんな加わり方でもいいのでしょうか?
もう一つ、ソースを見ると、
g.drawLine(405,420,655,240);
とありますが、これに線を加えるのでしょうか?
加えられる線は、常に一定なのでしょうか?
など、不明な点が多すぎます。
この回答への補足
足りない部分が多くて申し訳ありません
補足させていただきます
まずカーソルの位置やボタンの種類に関しては
特に指定しません
後ボタンが押されたら加えられる直線は、
ある特定の線で常に一定と考えていただければと思います
お探しの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
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- Java Java 配列<選挙> 4 2023/07/31 15:07
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java javaのクラスの分け方について質問です。 APIの内部用と外部用でクラスを分けたいのですがインター 2 2022/04/26 16:06
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Java java final 1 2022/06/10 22:49
- Java eclipse実行ができない 2 2022/07/27 04:47
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報