計算を行い、私にリストを与えるボタンを作成する必要があります。そのリストをペイントで使用し、それらの座標の線を作成する必要があります。私はイベントリスナーから私のペイントメソッドにデータを送信するための最良の方法は何ですか?ありがとうございました!イベントリスナーからpaintComponentにデータを送信する方法
0
A
答えて
0
あなたには十分な情報を与えてはいけません。たくさんのことを尋ねるので、ここではawt/swingボタンを使い始めるための概要を紹介します。残りの部分をルックアップしたり、カスタム塗装などを設定します。以下のコードのコメントを説明とともに参照してください。
座標を格納するために、公開されている配列またはリストを作成します。これは、私たちがイベントリスナーとあなたのpaintメソッドの間で情報を共有するために使用するものです:あなたは絵を行っている場合
myButton.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
//do something to get your new co-ords/point
//
//your code here to get X and Y
//assign X and Y to a point:
Point myNewPoint = new Point(X, Y);
//add that point to the list
myCoOrdinateList.add(myNewPoint);
//repaint your graph or your custom paint component here (or whatever else you are drawing these lines to):
myComponent.repaint();
}
});
そして:
public static LinkedList<Point> myCoOrdinateList = new LinkedList<>();
は、あなたのボタンにこのような何かをされたアクションリスナーを追加します。コンポーネントのpaintメソッドをオーバーライドすることにより、あなたはあなたのpaintメソッドではこのような何かを追加することができます:ここで
//create graphics so we can draw lines
Graphics2D g2d = (Graphics2D) g;
//we need to work with 2 points so we will store one point here:
Point previous = new Point(0, 0);
for (Iterator<Point> iterator = myCoOrdinateList.iterator(); iterator.hasNext();)
{
//get point
Point nextPoint = iterator.next();
//link previous point and next pint in the co-ordinates list:
g2d.drawLine(previous.x, previous.y, nextPoint.x, nextPoint.y);
//set new previous point so the next line is ready to be drawn
previous = nextPoint;
}
は公式のJavaチュートリアルからいくつかの詳細情報です。これ以上の質問をする前にこれらのリンクを読むことをお勧めします。
カスタムペイント:グラフィック/描画のものを使用した作業 https://docs.oracle.com/javase/tutorial/uiswing/painting/index.html
:スイングボタンを使用した作業の https://docs.oracle.com/javase/tutorial/2d/index.html
さらに詳しい情報: https://docs.oracle.com/javase/tutorial/uiswing/components/button.html
関連する問題
- 1. JQuery AjaxからASP.NETページにデータを送信する方法は?
- 2. .csからHTML5にデータを送信する方法
- 3. ソケットサーバーからaspxページにデータを送信する方法は?
- 4. AsyncTaskからFragmentにデータを送信する方法
- 5. jqueryからフラスコにデータを送信する方法
- 6. AWS IoTからMysqlデータベースにデータを送信する方法は?
- 7. JavaScriptからサーバーにデータを送信する方法
- 8. ASP.NETサーバーからAndroidにデータを送受信する方法
- 9. SQLiteデータベースからFirebaseデータベースにデータを送信する方法
- 10. モデルから画面にデータを送信する方法は?
- 11. AWS:AWS Lambdaからオンプレミスアプリケーションにデータを送信する方法
- 12. データをExcelからSoapuiに送信する方法
- 13. スコアボードからデータをシーケンスに送信する方法
- 14. APIからAndroidにデータを送信する方法
- 15. Laravel ControllerからMailableクラスにデータを送信する方法
- 16. ListFragmentからフラグメントにデータを送信する方法
- 17. sqliteからMYSQLにデータを送信する方法
- 18. 外部サービスからOTRSにデータを送信する方法
- 19. JSONデータをアクティビティからフラグメントに送信する方法は?
- 20. クライアントからソケットサーバーだけにデータを送信する方法
- 21. クライアント(C)からサーバー(nodejs)にデータを送信する方法は?
- 22. クラスからAndroidのアクティビティにデータを送信する方法
- 23. SignalR:IConnected.Connect()にデータを送信する方法
- 24. forループからデータを送信する方法
- 25. djangoからバッチでデータを送信する方法
- 26. アクティビティからデータを送信して断片化する方法
- 27. ng-repeatからデータを送信する方法は?
- 28. デバイスからデータを送信する最も良い方法は?
- 29. ログインフォームのサーバーからVolleyのデータを送受信する方法
- 30. Webユーザーコントロールからデータを送信する方法
あなたは多くのより多くの情報を提供してくださいできますか?これまでに何を試しましたか? 質問が良ければ良いほど、答えが良くなります。 – Gewure