問題タブ [paintcomponent]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - GridLayoutおよびpaintComponentメソッドに関するJavaSwingの質問
このプログラム内で、「LifeCell」ウィジェットの8x8グリッドを作成する必要があります。インストラクターはウィジェットが対象である必要があるとは言わなかったShape
ので、私は先に進んでGridLayout
クラスを使用しました。クラスはGridLayout
正常に機能します(確認する視覚的な補助がないため、私も知っています)。プログラムの目的は、ユーザーがLifeCellウィジェットの1つをクリックして、状態を切り替えることができる人生ゲームをプレイすることです。生きている」または「死んでいる」。
私の質問は、セルをペイントすることに大きく依存しています。コードに問題がある可能性がありますが、100%確信はありません。
Program2.java
LifeCell.java
そしてここにpaintComponent
方法があります:
私はそれを修正するための正確な解決策を必要としませんが、私はそれを機能させることを試みています。
ありがとう。
編集:
Program2.javaクラスのセグメントをさらに追加しました。明日、ベッドに向かっていることを確認できます。すべてのヘルプ担当者に感謝します。
編集#2:
私の本当の混乱は、フレームに8x8のGridLayout
個々の「セル」を入力すると、より適切な単語がないためにタイプが発生しLifeCell
ます。どうすればそれぞれLifeCell
の異なる色を塗ることができますか?それが皆さんにとって意味があるのであれば、私はできる限りそれを修正しようと試みることができます。そしてcamickr、私はそのウェブサイトを見ていきます、ありがとう。
私の質問やコードスニペットに関する混乱を避けるために、ここで割り当てを見つけることができます。
java - 半径とエッジの周りを指す円を描きます
私はこれをプログラミングする方法に本当に固執しています。エッジの周りに半径と点を持つJavaで円を描く方法は?
JFrame内に、円周を中心とした半径と点を持つ円を描く必要があります。エッジの周りの点の座標を見つける方法を数学的に計算することはできますが、円をプログラムすることはできないようです。私は現在Ellipse2Dメソッドを使用していますが、それは機能していないようで、半径を返しません。私の理解では、高さと幅を使用して開始座標からではなく、中心から円を描画しません。
現在のコードは別のフレームにありますが、既存のフレームに追加する必要があります。
java - JPanel: 独自の paintComponent() の実装と子のレンダリングの両方が機能しない
JPanel を拡張してゲーム ボードを表示し、下部に JEditorPane を追加してステータス テキストを保持します。残念ながら、ゲーム ボードは問題なく表示されますが、JEditorPane は、その中のテキストを強調表示するまで、空白の灰色の領域にすぎません。super.paintComponent(g) は他の子 (つまり、JEditorPane) をレンダリングする必要があるため、Swing を正しく理解していれば機能するはずです。教えてください、すばらしいスタックオーバーフローよ、私が犯している骨の折れる間違いは何ですか?
java - 機能しない paintComponent メソッド
コード :
完全にコンパイルされますが、実行するとフォームが表示されるだけです。画像 (または のその他の操作paintComponent
) が表示されません。足りないものはありますか?
netbeans - Net Beans の JPanel でグラフを描画する
NetBeans で自動生成された GUI コードで paintComponent() メソッドをオーバーライドする方法はありますか? ドラッグ アンド ドロップ コンポーネントを使用せずに手動でグラフを描画することができましたが、調整 (ラジオ ボタン グループの追加など) が必要で、非常に時間がかかり面倒な作業でした。NetBeans のドラッグ アンド ドロップ コンポーネントを使用して GUI を作成しましたが、編集できません。出来ますか?
Plsは私に解決策を教えてください。洞察を大いに感謝します事前に多くの感謝を
java - Custom JComponent with embedded Swing components not positioned in exported image
I have a funny problem trying to export custom Java JPanels to a PNG file. The export process of the components I've been writing up until now have worked flawlessly.
My JPanels include custom-written JComponents (e.g., override paintComponent(Graphics g) and write what I have to).
The export process looks like the following (of the extended JPanel I have):
#xA;The 'draw()' method above causes all of the JPanel's child components to be re-drawn using the new size of the image to be exported. Works very well.
The problem I have today is that I have one custom JPanel that includes some Swing components (a JScrollPane wrapping a JEditorPane). This JPanel includes one of my custom JComponents and then this second JComponent with the JScrollPane on it.
About 75% of the time, this second JComponent with the JScrollPane is not positioned correctly in the exported image when I perform the export. It is positioned at Point (0, 0) and the size is what it looks like on the screen. The 'draw()' method for this JComponent looks like the following:
#xA;But about 25% of the time this works - this JComponent with the scrollpane is correctly positioned in my exported image. The re-draw the componment works.
It is like there is some double-buffering going on here that I can't figger out....
Ideas?
java - paintComponent()は、repaint()の後に以前に描画された画像を残します
.png画像を描画するJPanelがあります。各画像には、選択されているかどうかを示す2つのコピーがあります。1つの画像は正常で、もう1つの画像には、選択が行われたことを示す色付きの境界線があります。(これらの画像は、議論のために単純な形と考えることができます)
描画される画像のバージョンは、MouseListenersを介して決定されます。ユーザーがimage1を選択すると、image1は強調表示されたバージョンを表示します。
通常、これは機能していますが、repaint()を実行すると、強調表示されたバージョンの画像が残されます。ハイライトされたバージョンは通常のバージョンよりもわずかに大きいため、新しく描画された通常の画像の後ろに突き出ている(オーバーラップしている)ことがわかります。
repaint()は現在の図面を完全に破棄し、最初から開始することになっていると思いましたが、ここではそうではないようです。以下は一般的な考え方です。blackClickedはMouseListener内で切り替えられます。
だから私の質問は、repaint()に現在描画されている画像を取り除き、最初から始めるにはどうすればよいかということです。
また、これをすべて達成するためのより簡単な方法がある場合は、私に知らせてください。画像のコピーを2つ作成するのは面倒な作業です。
java - 効率のための JLabel と drawString の比較
JLabels と paintComponents() .drawString() メソッドの使用に関して、うまくいけば簡単な質問があります。.getText() や修飾子を一切使用する必要がないと仮定して、一方を他方よりも使用する利点はありますか。
たくさんの JLabel を書くのは面倒に思えますし、私は JTextAreas のアイデアが特に好きではありません。ただし、形状、色、および写真以外のものに paintComponent を使用することは、おそらく最良のアイデアではない気がします。
java - paintComponent が適切なタイミングで呼び出されていない
私は次のようなアプリを作成しようとしています:
- ダイアログを表示し
ます - ユーザーが [OK] をクリックすると、ダイアログを閉じ、メインアプリに移動します
関連するコード スニペットは次のとおりです。
何が起こるかは次のとおりです:
最初のダイアログが表示されます:
[OK] ボタンをクリックします。メイン ウィンドウは、メイン アプリの推奨サイズにサイズ変更されますが、ペイントされず、単に透明です (このページを背景としてここに表示されています):
http://imgur.com/6Ssij.jpg
「ペイント」がコンソールに出力されないため、paintComponent メソッドが呼び出されていないことがわかります。ただし、「プログラムのこの時点に到達した」は出力されるため、プログラムはハングしていません。それは、paintComponent を呼び出していないだけです。次に、クライアントを起動して接続すると、アプリは最終的に描画され、「描画中」と「クライアントを取得しました」がコンソールに出力されます。また、アプリの後半では、repaint() の呼び出しが遅延します (つまり、実際には、プログラム内で、repaint() の呼び出しが行われたときよりも後で paintComponent が呼び出されます)。
また、次の行に沿って sthing を使用して初期ダイアログを置き換えてみました
まったく同じ結果です。
tl;dr paintcomponent が必要なときに呼び出されません。どうすればよいですか?
いくつかの詳細情報が必要です: repaint() への呼び出しは、sever.accept() への呼び出しの前に行われます。
java - java2Dとswing
Java2Dの基本的な概念を理解するのに苦労しています。
具体的な例を挙げます。
独自のバージョンのメソッドを実装することで、swingコンポーネントをカスタマイズできpaintComponent(Graphics g)
ます。メソッドの本体でグラフィックを使用できます。
質問:
このGraphicsオブジェクトとは正確には何ですか、つまり、メソッドを持つオブジェクトとどのように関連しているのpaintComponent
ですか?わかりました。次のようなことができることを理解しています。
灰色の楕円形をペイントします。私が理解できないのは、Graphicsオブジェクトがコンポーネントとキャンバスにどのように関連しているかです。この描画は実際にどのように行われますか?
もう一つの例:
このプリント
幅:184、高さ:52
このサイズはどういう意味ですか?サイズ(200,90)のフレームには何も追加していません。
更新:再ペイントを実行するために必要なヒントをオブジェクト
に与えるには、ペイントをオーバーライドする必要があること、およびプラットフォームによって提供されるオブジェクトを作成する必要がないことを理解しています。
その後何が起こるかは私には理解できません。
たとえば、画面を表し、さまざまなメソッドを呼び出し始めるとすぐにオブジェクトが画面にペイントされますか?
それはキューに保存され、それぞれの間に1-1の関連付けがありますか?では、フレームワークは各コンポーネントを使用して、一度に1つずつペイントしますか?
これはどのように作動しますか?これに関するどんな助けも大歓迎ですGraphics g
Graphics
Graphics
g.setXXX
g
component
g
ありがとう