
下記サイトを見ながらデスクトップマスコット作成の勉強をしようとしましたが
JDIMousePressedとJDIMouseDraggedが「シンボルを見つけられません」となってしまいます
https://qiita.com/urado/items/4a810c457cb862e370e8
importの確認や他記事を調べても理解できず、エラーの原因が掴めない状態です
プログラムの改善点と学ぶべき項目について教えてください。
以下プログラム
//インポート
import javax.swing.JFrame;
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.awt.event.MouseEvent;
// クラス名 継承 JFrame
public class JDMascot extends JFrame
{
// マスコットイメージ
private JDImage image;
// クリック位置保持用
protected JDPoint clickPoint = new JDPoint( 0, 0 );
public JDMascot()
{
// ウィンドウの設定
setUp();
// イベント設定
setMascotEvent();
}
private void setMascotEvent()
{
// クリックイベント
JDIMousePressed eventSetClickPoint = e -> { eventSetClickPoint(e); };
this.addMouseListener(eventSetClickPoint);
// ドラッグイベント
JDIMouseDragged eventMoveWindowDragged = e -> { eventMoveWindow(e); };
this.addMouseMotionListener(eventMoveWindowDragged);
}
private void eventSetClickPoint(MouseEvent e)
{
// クリック位置:X座標を取得
clickPoint.setX( e.getX() );
// クリック位置:Y座標を取得
clickPoint.setY( e.getY() );
}
// 移動後の座標
private void eventMoveWindow(MouseEvent e)
{
var moveX = e.getXOnScreen() - clickPoint.getX();
var moveY = e.getYOnScreen() - clickPoint.getY();
this.setLocation( moveX, this.getY() );
this.setLocation( this.getX(), moveY );
}
private void setUp()
{
// ウィンドウサイズ
this.setSize( 300, 300 );
// ウィンドウの装飾の( 許可 )
this.setUndecorated( true );
// ウインドウの背景色( コンストラクタ名( 三原色, 透明度 ) )
this.setBackground(new Color( 250, 0, 250, 50) );
// タスクバーのアイコンを非表示
//this.setType( Type.UTILITY );
// 画像表示領域を作成
image = new JDImage();
// ウィンドウのフレームに追加
this.getContentPane().add( image );
// ウインドウを閉じた際JFeameを終了
this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
public void setMascot( BufferedImage image )
{
this.image.setImage( image );
// 画像が変わるので再描画処理
this.repaint();
}
}// class JDMascot_END
No.1ベストアンサー
- 回答日時:
チラ見した程度で全部見てないですが、おそらく自作する必要があります。
「マウスの操作編」ということろで
「JDIMouseClicked.java」を作っているので
記事に沿うなら同じように
「JDIMousePressed.java」
「JDIMouseDragged.java」
を作りましょう。
※
蛇足ですが、JDIMouseDraggedの方は
MouseListenerではなくMouseMotionListenerを実装します。
※
該当部分を理解するには以下の知識が必要かと思います。
・MouseListener等を使ったswingのイベント処理の方法
・FunctionalInterface
無事にマウス操作できるようになりました
連休中ずっと悩んでいたので本当にありがとうございます
教えて頂いた部分についても今から勉強します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JScrollPaneで、表示がおかしく...
-
GetDIBits関数の使い方について
-
Exception in thread "main" ...
-
C#から、C++で作成したdll内の...
-
パスがとおらない・・・
-
アプレットでマウスイベントが...
-
Junitテストでvoid戻り値メッソ...
-
[C#.net]スレッド化された別フ...
-
正規表現
-
C# DataGridView列カスタマイズ
-
二分探索木の要素の数を数える...
-
JavaScriptの変数をjavaのメソ...
-
InputStream.read()でタイムア...
-
javaで質問です。 文字列2023/2...
-
JavaScriptを使ってロト6の当...
-
JavaScriptとVBScriptに関して
-
JSPでHashMap・配列の変数の値...
-
eclipseに記述したjavaファイル...
-
javaのコンパイルエラーについ...
-
ループ処理の際、最後だけ","を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
大量のデータを読み込んで表示...
-
Junitテストでvoid戻り値メッソ...
-
C#でキーイベントが発生しない...
-
ボタンの複数割り当てについて
-
C#で、あるクラスのメンバーす...
-
C#から、C++で作成したdll内の...
-
C# WinForm のDataGridView Cel...
-
C#でのWNetAddConnection3の使...
-
C# 親フォームで指定した値を...
-
C# 矢印キーの取得
-
unityでのC++エラーの原因がわ...
-
C# DataGridView列カスタマイズ
-
コンボボックスを使う時の警告
-
C#で、定数をフラグ(if文)に...
-
C# MouseHoverを何度も呼ぶには
-
C#で別のFormへ複数の値を返そ...
-
正規表現
-
【Java】画像表示が出来ない!
-
C# visibleプロパティをfalseに...
-
JavaのSwingで別のフォーム...
おすすめ情報