![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
下記サイトを見ながらデスクトップマスコット作成の勉強をしようとしましたが
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ランキング
-
vc++ 2005 Pictureboxの透過処理
-
C#で、あるクラスのメンバーす...
-
ボタンの複数割り当てについて
-
C#でのWNetAddConnection3の使...
-
コンボボックスを使う時の警告
-
C#でのDLLのメソッドの作り方
-
Junitテストでvoid戻り値メッソ...
-
JWindow、JFrameでモーダル化の...
-
数独の問題作成
-
アプレットでマウスイベントが...
-
【C#】ハッシュテーブル(連想...
-
オブジェクトの中のプロパティ...
-
IF関数でEmpty値を設定する方法。
-
javaで質問です。 文字列2023/2...
-
カタカナの小文字を大文字に変...
-
分を表す数値(int型)を、小数...
-
ページング
-
ループ処理の際、最後だけ","を...
-
ArrayListの要素数の上限
-
配列にnullを代入すると、null...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
大量のデータを読み込んで表示...
-
C#で、あるクラスのメンバーす...
-
ボタンの複数割り当てについて
-
Junitテストでvoid戻り値メッソ...
-
C#でのWNetAddConnection3の使...
-
C# visibleプロパティをfalseに...
-
ボタンのイベントで異なるウィ...
-
C# DataGridView列カスタマイズ
-
C# 矢印キーの取得
-
Processingでマウスクリックで...
-
[C#.net]スレッド化された別フ...
-
C#で別のFormへ複数の値を返そ...
-
C# WinForm のDataGridView Cel...
-
テキストフィールドに入力した...
-
【C#】ソースコードをファイル...
-
C#から、C++で作成したdll内の...
-
C# 半角カナの文字化けについて
-
C# タスクバーを隠したフォーム...
-
文字列の置換
-
エンターキーを押すとOKボタン...
おすすめ情報