問題タブ [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.

0 投票する
3 に答える
419 参照

java - 再塗装せずにJPanelの上に線を描く

このプロセスでのJPanelを呼び出さずに、に垂直線を描画し、その上を滑らせたいと思います。私は使用することを考えましたが、フレームにを含む他のコンポーネントがあるため、それは正しい方法ではないと思います。したがって、それはそれに固有ではありません(そして実際にそれが呼び出されないかどうかはわかりませんとにかく)。paintComponent()JPanelGlassPaneJPanelpaintComponent()

何か案は?

0 投票する
4 に答える
231672 参照

java - JPanelで描く方法は?(スイング/グラフィックスJava)

私はペイントプログラムを作ろうとしているプロジェクトに取り組んでいます。これまで、Netbeansを使用してGUIを作成し、プログラムをセットアップしてきました。

今のところ、その中に描くために必要なすべての調整を呼び出すことができますが、実際にその中に描く方法とは非常に混乱しています。

コードの終わりに向かって、パネル内に描画しようとして失敗しました。

このような例でグラフィックの使用方法を誰かが説明/示すことができますか?

私が見つけたすべての例は、クラスを作成して拡張しJPanelますが、netbeansで生成されたため、これを実行できるかどうかはわかりません。

JPanelの中に、私の中に描く必要がありJFrameます。グラフィッククラスをどこに置くかわかりません。

JavaPaintUIクラス

スクリーンショット

全体がaJFrameで、中央の白い部分がjPanel2描きたいものです。 これではないコードのスクリーンショット

0 投票する
3 に答える
1173 参照

java - Java Swing と描画の問題

描画に問題があります。ボタンが1つ付いたフレームがあります。マウスを使用して、半透明の長方形を描きます。しかし、この四角形を描画するとボタンの後ろに描画され、この四角形をボタンの上に配置したいので、小さな問題があります。

これはスクリーンショットです:

そして、これはコードです:

どうすればこの問題を解決できますか?

0 投票する
2 に答える
13501 参照

java - Swing 内の BufferedImage でのペイント

私は Java で書かれたペイント アプリケーションに取り組んでいて、いくつか (さらに) 問題が発生しています。私はGUIと作業プログラム(ちょっと)を持っていますが、私の唯一の問題は、ユーザーが描いた線とグラフィックが保存されていないことです(次のものを描いた後に消えます)。

過去の質問から、BufferedImage を使用して図面を保存し、ペイント クラス内でペイントする必要があることを学びました。

私の質問は、バッファリングされたイメージを使用して図面を保存およびペイントする方法の基本的な説明/例を誰でも提供できますか?必要に応じて、描画された線の色と太さを保存された配列に渡す方法です。

それが私のクラス全体です。

ありがとうございます!

0 投票する
2 に答える
884 参照

java - PaintComponent が netbeans GUI と呼ばれない

私は netbean のグラフィック システムにまったく慣れていないので、Java の教科書に苦労しています。私はいくつかのものを表示するための簡単なプログラムを作成しようとしています. 私の調査で、同様の問題を抱えている他の多くの人々を見つけました。これらの人々は、寸法とpreferredSizeメソッドを使用するように言われる傾向があります. 以下は私のコードです:

0 投票する
2 に答える
241 参照

java - paintComponentの質問

このサンプルコードでは、super.paintComponent(g)はどのような目的で使用されますか?

0 投票する
1 に答える
810 参照

java - repaint()およびrevalidate()を呼び出しても、JPanelは再描画されません

やあみんな。クリックすると色が変わるJPanelを持っています(これは別のクラスで正しく処理されます)。

残念ながら、repaint()メソッドを呼び出すと、ペイントされません(または、var currentBGColorの古いColor値を使用してpaintComponentメソッドを呼び出します->以下のコードを参照してください)

なぜそれが新しい色で塗られていないのか誰かが知っていますか?

0 投票する
2 に答える
14138 参照

java - JFrame で Graphics2D をペイントする

私は 2D 縦型シューティング ゲームを作成しています。このゲームでは、グラフィックス以外はすべてコーディングされています (そして機能しています)。これまで Graphics クラスを使用したことがないため、これはすべて初めてのことです。以下は、すべてを JFrame に描画するために使用するコードです。

1行目「Graphics h = new Graphics2D();」Graphics2d は抽象的であるため、エラーが発生しますが、ここからどこへ行くべきかわかりません。

私が持っているすべての画像を取得し、それらを JFrame のポイントにペイントするためのコードが必要です。これまでにこれを行ったことがないことを思い出してください。これが間違った方法であるかどうか教えてください。

0 投票する
1 に答える
465 参照

java - super.paintComponents(g)のJavaの問題、それは印刷画面を作成します

クラスと階層を使用して、Javaでペイントを作成しようとしています。しかし、私のペイント領域は背景色(白として定義)を取得しておらず、クリックすると、描画のjpanel領域に印刷画面が表示されます。super.paintComponent(g)を使用すると、インターフェイスは正常に表示されますが、毎回1ポイントしか取得できません。super.paintComponents(g)を使用すると、jpanel領域にフレームが印刷されます。

何が起こっているのかについて何か考えはありますか?

0 投票する
2 に答える
627 参照

java - 背景画像とクリッピング四角形を含む JTextPane の問題

Swing に問題があり、その理由がわかりません。背景画像を表示するために拡張された JTextPane があります。これは、ラスター イメージ (標準 Java API を介して表示) または SVG ベクター イメージ (SVG Salamander を介して表示) のいずれかです。

テキスト ペインの上部に、テキストを表示しない余白として使用する領域を設定したいので、次のようにします。テキストなどが表示され、最後に背景画像の一部を再びペイントしますが、クリッピング四角形を使用して、上部の余白領域にあるテキストのみをカバーします。

これは、私が何日も戦ってきた小さな問題を除けば、まったく問題なく機能します。ラスター イメージでは、テキスト ペインでテキストを選択すると、テキストが強調表示されるのではなく削除されます。つまり、テキストを選択すると、選択している部分の上に背景画像が表示されます。画像を描画する最初の呼び出しは super.paintComponent() の前に呼び出され、2 番目の呼び出しにはクリッピング四角形があるため、余白のみを描画し、そうしなければすべて正常に動作するため、これが可能である理由がわかりません。選択しないでください。いくつかの追加の手がかり:

  • コメントしてもこの問題は発生しないので、2 番目の呼び出しに関連するものであることはわかっています (ただし、マージンはありません)。
  • 不思議なことに、背景がベクター画像の場合は発生せず、ラスター画像のみです。

私の paintComponent() メソッドのコードは次のとおりです。

クラス全体を見たい人は、ここにあります: http://code.google.com/p/aetheria/source/browse/trunk/age/src/eu/irreality/age/swing/FancyJTextPane .java?r=301

問題は他のクラスとの相互作用にあると思われるため、修正を求めているわけではないことに注意してください。そのため、私は SSCCE を提供しませんでした: SSCCE を作成しようとしましたが、このクラスを単独で使用すると... 実際には機能します。システム全体の外で問題を再現できず、どの相互作用が問題を引き起こすのかわかりません。しかし、私を正しい方向に向けるヒントを提供してくれる人には非常に感謝しています-おそらく誰かがこの種のことを以前に見たことがあり、何原因であるかの手がかりを持っている可能性があります...

更新: setClip() の使用をやめることで、問題を回避できました。PaintComponent() で setClip() を使用しないことを推奨するこの回答を見つけました: Java スイング クリッピングの問題

クリッピング四角形を使用する代わりに、余白に描画したい画像の上部を含むサブ画像を作成し、setClip() を呼び出さずに直接描画します。1つで十分なはずのメモリに2つの画像を保存しているため、おそらく非常に非効率的ですが、少なくとも動作します(tm)。このハックに興味がある人は、こちらをご覧ください (現時点ではコードが少し汚れています): http://code.google.com/p/aetheria/source/browse/trunk/age/src/eu/irreality /age/swing/FancyJTextPane.java?r=305

それでも、 setClip() をこのように使用するとこれらの問題が発生する正確な原因を特定できる人、またはこれを解決する効率的な方法を知っている人がいれば、興味深いでしょう。すべての答えをありがとう!:)