Javaプログラムの繋げ方について。
今まで(1)のようなプログラムを書いていました。
作りたいものに向けて色々検索するとやりたいものに近い(2)のようなサンプルプログラムを見つけました。
しかし、Java初心者なもので混ぜ方(?)がわかりません。
現在の私の知識からいうと今までのはアプレットでフレーム使うのはアプリケーションなのかな?別物なのかな?そんな感じです。
もし、混ぜることができるなら何かアドバイスをお願いします。
(1)package test;
import java.applet.* ;
import java.awt.Label ;
import java.awt.Font ;
import static java.awt.Font.BOLD ;
import java.util.*;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.*;
public class test extends Applet{
public void paint(Graphics g){
g.setColor(Color.red);
g.fillOval(320, 200, 100, 100);
}
public void init ()
{
~~~~~~~~~~~~~~~~
}
public void start ()
{
------------
}}}
(2)import java.awt.*;
import java.awt.event.*;
public class MouseEvent7 extends Frame {
int posX = 50;
int posY = 50;
public static void main(String [] args){
new MouseEvent7();
}
//コンストラクタ
MouseEvent7(){
this.addWindowListener(new WinAdapter()); //ウィンドウリスナーの登録
this.setSize(200,200);
this.setVisible(true);
//MouseMotionListenerの登録
addMouseMotionListener(
new MouseMotionAdapter(){
public void mouseMoved(MouseEvent e){
posX = e.getX();
posY = e.getY();
repaint(); //paintメソッドを実行
}
}
);
}
public void paint(Graphics g){
g.drawOval(posX,posY,50,50);
}
}
(1)の内容に本当に(2)のプログラムで出来るマウスの動きに合わせて円も動く+クリックしたらそこで止まるだけいいのですが。
出来たら止まった点の座標も取りたいですが、そこまではいってません;;
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
> そこからどうすれば止まった位置の近くに止まった座標を表示できるかわかりません。
クリックして止まったときだけpaintメソッドの中で
g.drawString("("+posX+","+posY+")",posX,posY);
のようにして描けばいいのでは?
描画位置は適当に調整してください。
No.1
- 回答日時:
(1)(2)のプログラムを混ぜて、マウスの動きに合わせて円が移動するAppletを作るとこうなります。
import java.applet.* ;
import java.awt.*;
import java.awt.event.*;
public class test extends Applet {
int posX = 50;
int posY = 50;
public void paint(Graphics g) {
g.setColor(Color.red);
g.fillOval(posX, posY, 50, 50);
}
public void init () {
this.setSize(200, 200);
this.setVisible(true);
addMouseMotionListener(new MouseMotionAdapter() {
public void mouseMoved(MouseEvent e) {
posX = e.getX();
posY = e.getY();
repaint();
}
});
}
}
AppletにはaddWindowListener()がないので、(2)にあったその部分は無視。
マウスのクリックを取得するにはMouseAdapterクラスのmouseClicked()を実装して、addMouseListener()してください。
この回答への補足
座標を取得する方法としてinit()の中に
addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
posX = e.getX();
posY = e.getY();
}
});
を入れればいいことがわかりました。
しかし、色々調べて試してみましたが、そこからどうすれば止まった位置の近くに止まった座標を表示できるかわかりません。
お探しの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のクラスの分け方について質問です。 APIの内部用と外部用でクラスを分けたいのですがインター 2 2022/04/26 16:06
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
eclipseに記述したjavaファイル...
-
Selenium IDEでexportしたコー...
-
サーバーAからサーバーBへPOST...
-
ある年月の前月(月の開始日)...
-
(急募)JavaカレンダーをGUI可に...
-
Java Applet での虫食い算での質問
-
Javaで常駐するソフトを作って...
-
setAttribute(String, int)は適...
-
生年月日と今日の日付から年齢...
-
干支の計算で。。。
-
文字サイズが可変のラベル
-
画像のbyte[]データの読み込み...
-
javaで質問です。 文字列2023/2...
-
ループ処理の際、最後だけ","を...
-
[JAVA]try 内の変数を外で!?
-
C言語のポインターに関する警告
-
パソコンキーボードで時分秒を...
-
EXCEL VBA で、0から?1から?
-
JSPやサーブレットでSystem.out...
-
EclipseでJava
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
eclipseに記述したjavaファイル...
-
「例外 *** は対応する try 文...
-
ColabでのPytorchのエラー
-
Javaを使ってデジタル時計を作...
-
<forEach> 内で供給された "ite...
-
文字列を数式に
-
importするには java.io.*; imp...
-
python OpenPyXLを使って出力結...
-
Selenium IDEでexportしたコー...
-
シャットダウンフックが呼ばれない
-
Java3Dで横置き円筒体の円筒中...
-
Javaで常駐するソフトを作って...
-
生年月日と今日の日付から年齢...
-
Javaを使用して定時送信をしたい
-
干支の計算で。。。
-
Java での グローバルIP取得
-
GridBagLayoutについての質問
-
ファイル名を動的に生成したい
-
HTMLでのTableタグデータ取得方法
-
importとextendsの用い方の違い...
おすすめ情報