![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
javaのswingで、自由に線を引くにはどうすればいいのですか?
import javax.swing.*;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.*;
import java.util.Vector;
class hoge{
JPanel p
public hoge{
p = new JPanel();
p.setLayout(null);
getContentPane().add(p);
}
public static void main(String args[]){
hoge tr = new hoge();
}
}
みたいな(細かいところは省略)したプログラムを実行したときに
任意の座標から座標へ線を引くにはどうすれいいのですか?
appletviewerのdrawStringのようなメソッドはないのですか?
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
una_hogeさん、こんにちは。
「ボタンを押すと線が引かれるようにしたい」ということですが、
他の回答者の方がおっしゃるように、あとは線を引くだけです。
ですが、未だ答えが得られていない、とのこと。
何が判らないの?とこちらは首をかしげるほか無いのですが、これはおそらく、una_hogeさんの求めるものと、私たちが想定しているものの間にまだ隔たりがあるからなのではないかと思います。
もう少し詳しく情報をいただけたら、こちらも的確な解答ができると思います。
線を引くこと自体が判らないのか、ボタンが押された事をキャッチするやり方が判らないのか。
試行してみたプログラムはどんな動作をして、それは自分の求めるものとどう違うのか。
これをきっちり書いて教えて下さい。
そうでないと私たちも答えるのに大変苦労します。
また、今回のご質問はすでに他の方からの閲覧はあまり見込まれません。
理由は、すでにいくらかの回答がされていること、時間がたっていること、質問のタイトルが内容を表していないため最初から無視されているであろうということ、等があります。
ご自分で試行錯誤をされた後、質問内容を絞り込み、明確に伝わる質問内容で再度こちらに質問をして下さい。
No.4
- 回答日時:
なにがどううまくいかないのでしょうか?
ソースをコピーしましたが、コンパイルが通りませんよ。
せめてコンパイルエラーが出ないものを載せましょう。
(それともコンパイルエラーが出るという質問でしょうか?)
ただサンプルをコピーして貼り付けることは
応用(原理や知識を実際の事柄に当てはめて用いること。)
とはいいませんよ。
それから、まだ質問者様にはこの手の内容は早すぎると思います。
(継承とかも理解していなさそうですし。)
まずはしっかりJavaの基本を理解してから、
次に
・単に線を描画する
・ボタンを押したときに何か簡単な処理をする
という別々のものを作り、中身を理解してから
応用(原理や知識を実際の事柄に当てはめて用いること。)
してみてはいかがでしょうか。
それとも単に「答え書け」というのであれば、他の回答者の回答を待って下さい。
この回答への補足
ちょっとまってください!!!ききずてなりません!!!
僕はjavaは得意です。東京大学で情報工学を専攻しています。!!
司法書士、公認会計士、行政書士、国家公務員試験も受かりました。
それが、Javaの基本を理解していないとかかれるのは心外です!!!
そうですね。コンパイルとおりませんね。じゃあちょっとやってみます!!
また聞きます。
No.3
- 回答日時:
No.2のリンク先の例2は
マウスでクリックしたらその場所を中心に円を書く
です。
マウスでクリックしたら
を
ボタンを押したら
に読み替えて、
その場所を中心に円を書く
を
画面の(10,10)から(200,400)まで線を引く
に読み替えれば良いのですよ。
マウスをクリックした時の処理の中身を
ボタンを押した時の処理に書いて、
円を書く部分を線を引くに書き換える。
サンプルはあるのですから、あとは応用ですよ。
この回答への補足
応用して簡単なものをこう作ってみましたが、うまくいきませんでした
class hoge{
JPanel p
Jbutton btn
public void paintComponent(Graphics g) {
super.paintComponents(g);
g.drawOval(10,10,300,300);
}
public hoge{
btn = new JButton("click");
p = new JPanel();
setBounds( 10, 10, 1100, 1100);
p.add(btn);
p.setLayout(null);
btn.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event){
repaint();
}
});
getContentPane().add(p);
}
public static void main(String args[]){
hoge tr = new hoge();
test.setVisible(true);
}
}
No.2
- 回答日時:
マウスでドラッグして線を引こうが、
ボタン押下のアクションで機械的に線を引こうが、
「線を描画する」
ということは同じですよ。
それに先ほどのリンクの他のページは見ましたか?
例えばここ→http://web.hc.keio.ac.jp/~fujimura/lang/page-16- …
あとは「ボタン押下のアクションで↑を実行する。」だけですね。
この回答への補足
何が一緒なのかがわかりません。
設置したボタンをクリックすると図形が描かれるようにしたいのです。
いまいちどうやってプログラムをつくればいいのかわかりません。
No.1
- 回答日時:
この回答への補足
ちょっと質問の意図をちゃんと伝えていなかったので、正確に伝えます。やりたいのは、ボタンを配置してボタンをクリックしたときに画面に線が引かれるようにしたい
import javax.swing.*;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.*;
import java.util.Vector;
class hoge{
JPanel p
Jbutton btn
public hoge{
btn = new JButton("click");
p = new JPanel();
setBounds( 10, 10, 1100, 1100);
p.add(btn);
p.setLayout(null);
btn.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event){
*****
}
});
getContentPane().add(p);
}
public static void main(String args[]){
hoge tr = new hoge();
}
}
でbtnのボタンがクリックされたら画面の(10,10)から(200,400)まで線が引かれるようにしたいです。
***の部分をどう作ればいいのかわかりません。教えてください
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- Java Java 配列<選挙> 4 2023/07/31 15:07
- Java java final 1 2022/06/10 22:49
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
- Java javaのクラスの分け方について質問です。 APIの内部用と外部用でクラスを分けたいのですがインター 2 2022/04/26 16:06
- その他(クラウドサービス・オンラインストレージ) Google ColabでGoogleドライブのサブフォルダにファイルを生成する方法 1 2022/10/31 17:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マイクラでPythonのプログラミ...
-
配列にnullを代入すると、null...
-
eclipseで作ったプログラムを他...
-
Processingでマウスクリックで...
-
Eclipse 動的プロジェクトで404...
-
コンソールから所属財産を入力(...
-
正規表現について質問です。 カ...
-
サーブレットをapacheで公開す...
-
下記のリストならno002が含まれ...
-
is this even a thing?
-
JAの支部?地域の農協のカード...
-
えハミルトン路と全域木のちが...
-
CSV出力を画面から選択したデー...
-
ショートカットキーについて
-
list の空は [] ってあわらすのに
-
あんまりお料理しないのに台所...
-
質問です。 配列が100以上の場...
-
次のhtml・cssでspan内の文字を...
-
Jupyter notebookですわかりま...
-
下記問題の答えが"D"になる意味...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報