NetBeansプラットフォームアプリケーションで作業していますが、現在はVisual Libraryで詳細に取り組んでいます。さて、ここに問題があります。私はパレット、シーン、すべてがうまくいく、私のアプリのためのビジュアルエディタを持っているだけで、私はパレットからシーンにアイコンをドラッグしているときに問題があります。彼らはドラッグイベント中に表示されません、私はその効果を作成したい、誰かがこれを助けることができますか?ドラッグアンドドロップ中にアイコンを表示するには
答えて
よく聞こえたら、要素のドラッグアンドドロップで、ある種のグラフィカルエディタを作成していて、そのドラッグアンドドロップ中にエフェクトを作成したいのですか?
もしそうなら、基本的にドラッグしているオブジェクトのゴーストを作成し、それをマウスの動きに付け加える必要があります。もちろん、やったよりも簡単だが、あなたは要点を得る。 あなたが必要とするのは、あなたがドラッグしているもののイメージを取ることです(それほど大きな問題ではないはずです)。マウスの位置に合わせて移動します(オブジェクト内のマウスカーソルの相対位置を引くあなたはドラッグしている)。
しかし、私はその種のコードはどこかで入手できると思います。私はそれをルックアップするためにあなたをお勧めする:あなたを助け
http://free-the-pixel.blogspot.fr/2010/04/ghost-drag-and-drop-over-multiple.html
http://codeidol.com/java/swing/Drag-and-Drop/Translucent-Drag-and-Drop/
希望を!
私は2つのフェーズでこれを実行します。
1)パレット要素のスクリーンショット(画像)を作成します。スクリーンショットを遅れて作成し、それをビュー内にキャッシュします。受信ビュー上のスクリーンショットをペイント
screenshot = new BufferedImage(getWidth(), getHeight(), java.awt.image.BufferedImage.TYPE_INT_ARGB_PRE);// buffered image
// creating the graphics for buffered image
Graphics2D graphics = screenshot.createGraphics();
// We make the screenshot slightly transparent
graphics.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.7f));
view.print(graphics); // takes the screenshot
graphics.dispose();
2):スクリーンショットを作成するには、このスニペットを使用することができます。ドラッグジェスチャが認識されたら、受信ビューまたはその祖先のスクリーンショットを利用できるようにする方法を見つけます(スクリーンショットドラッグを使用可能にする場所に応じて、フレームまたはそのコンテンツペインで利用できるようにすることができます)ペイント方法でイメージをペイントします。このようなもの:
a。スクリーンショットを利用できるようにする:
capturedDraggedNodeImage = view.getScreenshot(); // Transfer the screenshot
dragOrigin = SwingUtilities.convertPoint(e.getComponent(), e.getDragOrigin(), view); // locate the point where the click was made
b。マウスをドラッグすると、スクリーンショットの場所を更新します
// Assuming 'e' is a DropTargetDragEvent and 'this' is where you want to paint
// Convert the event point to this component coordinates
capturedNodeLocation = SwingUtilities.convertPoint(((DropTarget) e.getSource()).getComponent(), e.getLocation(), this);
// offset the location by the original point of drag on the palette element view
capturedNodeLocation.x -= dragOrigin.x;
capturedNodeLocation.y -= dragOrigin.y;
// Invoke repaint
repaint(capturedNodeLocation.x, capturedNodeLocation.y,
capturedDraggedNodeImage.getWidth(), capturedDraggedNodeImage.getHeight());
c。塗装方法でスクリーンショットを描く:代わりに(再描画呼び出す
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
g2.drawImage(capturedDraggedNodeImage, capturedNodeLocation.x,
capturedNodeLocation.y, capturedDraggedNodeImage.getWidth(),
capturedDraggedNodeImage.getHeight(), this);
}
)を、塗料()メソッドで絵を実行するには、マウスの移動としてpaintImmediately()を呼び出すことができますが、レンダリングは多くの貧しいとなり、いくつかのちらつきを見ることができるので、私はそのオプションをお勧めしません。 paint()とrepaint()を使用すると、ユーザーエクスペリエンスが向上し、レンダリングが円滑になります。
- 1. Qtドラッグアンドドロップ - ドラッグ中に画像表示を変更する
- 2. 流星の中のクリックでアイコンを表示するには?
- 3. アンドロイドでドラッグアンドドロップを実行中にClassCastExceptionを表示します
- 4. javafxドラッグアンドドロップ移動アイコン
- 5. SecondaryCommands(UWP)にアイコンを表示
- 6. ピクチャボックスにアイコンを表示
- 7. PyQt4にアイコンを表示
- 8. ボタンにSVGアイコンを表示
- 9. ドラッグアンドドロップ中に表示されるビューをカスタマイズするにはどうすればよいですか?
- 10. アイコンのテキストの隣にアイコンを表示する方法
- 11. アプリケーションランチャーアップデートを表示するアイコン
- 12. アイコンを表示するポップアップメニュー..?
- 13. MPMoviePlayerControllerは、オーディオの再生中にステータスバーに再生アイコンを表示しません。
- 14. ループ中にdivを表示または非表示にする
- 15. mvc5でテキストの後にnavbarのアイコンを表示するには?
- 16. Androidの行の下のアイコンを非表示にするには
- 17. タスクバーのコンテキストメニューに画像/アイコンを表示するには
- 18. UILabelのテキストに著作権アイコンを表示するには?
- 19. アイコンにコンテキストメニューを表示しますか?
- 20. TableViewのアイコンから固定アイコンにどのようにドラッグアンドドロップしますか?
- 21. Chromeのメニューに表示されるアイコン
- 22. エラーテキストボックス内に表示されるアイコン
- 23. iPhoneアプリをユニバーサルアプリに変換中にアイコンが表示されない
- 24. 隠しナビゲーション・ハンガーのアイコンを表示するには?
- 25. QListWidgetにテキストなしでアイコンを表示する方法は?
- 26. メニュー項目にアイコンを表示する方法は?
- 27. Odoo ListViewにアイコンを表示する方法は?
- 28. ハンバーガーの引き出しアイコンをアニメーション表示するには
- 29. フレームの移動中に読み込みアイコンを表示するにはどうすればよいですか?
- 30. ファイルタイプごとにアイコンを表示