問題タブ [jcomponent]

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 に答える
3334 参照

java - カスタム描画コンポーネントが JScrollPane 内で描画されない

私は Java JRE 1.6.7 を使用していて、JComponent と JScrollPane を持っていました。これでダブルバッファリングが機能せず、常にちらつきが発生しました。Canvas を使用した場合はバッファリングを処理しましたが、JScrollPane と組み合わせて使用​​すると問題が発生しました。

そこで、これらの問題の 1 つが修正されることを期待して、JRE 1.6.18 をダウンロードしました。さて、JScrollPane 内の JComponent がまったく正しく描画されません。JScrollPane が境界線を除いてその上に描画されているかのように、JComponent の外側の領域のみを描画します。

描画されていないコードの例を次に示します。これにより、描画が行われる領域の 1 ピクセル幅の白いアウトラインが生成されます。

どんな助けでも大歓迎です!-クレイグ

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

java - JComponent: 小型化にどう抵抗できるか?

paintが呼び出されたときにいくつかのものを描画するカスタム JComponent があります。ただし、Borderレイアウトでは、それminimumSizeは尊重されていません。私はこれを含めました

呼び出されることはありません。また、それを保持するコンテナーとそれを保持する JFrame に最小サイズを設定しようとしました。ここに制限を加えるにはどうすればよいですか?

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

java - ファイル エクスポート用に JComponent のサイズを変更する

通常の「paintComponent(Graphics g)」メソッドを使用して多数のカスタム作成 JComponents を描画する JPanel があります。次のように、JLayeredPane を使用して、カスタム コンポーネントの表示順序を制御します。

ここで、このパネルを JPEG ファイルにエクスポートしたいと思いますが、サイズが異なります。次のコードを使用すると、目的のサイズの JPEG ファイルが正常に作成/エクスポートされますが、パネルの画面イメージ バージョンも新しいサイズに更新されます。うわぁ!

エクスポートに適した画像を「描画」できますが、実際にはこの新しい画像が表示されませんか?

ありがとう!


さて、またこの問題に戻ってきました……。

私が描いているシーンにはいくつかのテキストが含まれており、エンド ユーザーはグラフを「ポートレート」アスペクト比でエクスポートすることを望んでいます。シーンを新しい次元で再描画するのではなく、画像をスケーリングするだけなので、テキストが水平方向に大きく押しつぶされます。

とにかくそのあたり?

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

java - JSplitPane は正確に 50% を分割します

Swing で、JSplitPane を作成して 2 つの jpanel をそれぞれ 50% のサイズで分割する最良の方法は何ですか?

パネルに優先サイズを設定しないと、常に最初のパネルがほとんど見えなくなり(2%)、2番目のパネルがほとんど見えなくなります(98%)

前もって感謝します

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

java - Java JComponent スクロール可能なリセット位置

BorderLayout() を持つ JPanel があります

BorderLayout.CENTER にはスクロール可能なものを実装する JComponent が含まれており、北には JLabel が含まれています。JLabel で setText() を呼び出すと、JComponent の位置がデフォルトの位置にリセットされ、左上の点が表示されますか? これを回避する方法はありますか。API を調べましたが、何も表示されません。

どんな助けでも大歓迎です。

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

java - カスタムJavaJTreeの実装

2 JTreeJTree1と。がありJTree2ます。ノード(国、都市、色、青など)はすべてJCheckboxesとして実装されるため、ユーザーは対応するチェックボックスを選択することで、各都市または国全体の特定の色を選択できます。

問題:

Q1。国や都市ごとに色を選べるようにしたいと思います。つまり、ユーザーがcity1.1青と紫のcity2.1色と赤の色を使用したい場合は、最初にcity1.1チェックボックスを選択してから青と紫を選択する必要がありますcity2.1。その後、を選択すると、青と紫のチェックボックスが自動的に選択解除され、次のようになります。ユーザーはの色を選択できますcity2.1。ただし、ユーザーがcity1.1もう一度選択すると、JTree2city1.1で選択した色(buleとviolet)が表示されます。

  • したがって、この目的のために、JTree(チェックボックスとしてノードを使用)を実装するための正しいオプションですか、それとも他のオプションを使用する必要がありますかJComponent

  • JTreeが正しいオプションである場合、各都市の色をどのように思い出すことができますか?

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

java - カスタムJComponentがカスタムJPanelに表示されない

add()メソッドを試しましたが、GraphicsTestにTestを追加しようとすると何も表示されません。どのように追加すればよいですか?誰か見せてもらえますか?使用しているコードを含めました。

これは私のやり方であり、機能していません。誰かが私に見せたり、問題が実際に何であるかを私に知らせてもらえますか?

他のクラスは次のとおりです。

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

java - JComponent ドッキング解除効果

カスタム Swing JComponent のドッキング解除効果を達成しようとしています。デフォルトでは、コンポーネントは他のコンポーネントとともにフォーム内で使用されます。このコンポーネントを最大化して画面全体を使用し、再度ドッキングできるようにしたいと考えています。これまで私はテストしました

これにより、望ましい効果が得られますが、ダイアログを閉じると、コンポーネントはイベントを受け取りません。どうすればこれを防ぐことができますか?

それとも、これを達成するためのより良い方法がありますか?

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

java - JFrame 内の JPanels オブジェクトの移動とサイズ変更

簡単なゲームで Java を学習するという私の探求を続けていると、ちょっとした問題に遭遇しました。私のゲームボードは JPanel とボードの各部分を拡張します。さて、これにはいくつかの問題があります。

  1. 各ピースのサイズを設定できないため、各ピース JPanel は JFrame 全体を占有し、残りのピースと背景 (ゲームボード) を隠します。

  2. ピースの位置を設定できません。

デフォルトのフローマネージャーがあります。セットバウンドを試みましたが、運がありませんでした。

おそらく、他の JComponent を拡張するためのピースを作成する必要がありますか? 追加画像: それがピースです。灰色の領域もピースです。mousePressed リスナーを作成し、それにいくつかのものを割り当てることでそれを確認しました。灰色の領域の下には、別の JPanel であるゲームボードがあります (または、少なくともそうあるべきです!)。

代替テキスト http://img42.imageshack.us/img42/2227/screenshotvdy.png

いくつかのコード:

これは、pack() メソッドを適用すると発生します: alt テキスト http://img442.imageshack.us/img442/5813/screenshot2ml.png

より大きく、JFrame を埋めるマップではなく、ユニットの周りにパックします。

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

java - How do I get a JComponent to resize after calling `setVisible(true)`?

Our application displays a 2D view of our data (mainly maps) and then allows the user to change to a 3D view. The 2D and 3D views are generated by custom C++ code that is SWIG'ed into our Swing GUI and wrapped within a JComponent. These JComponents are then displayed within another parent JComponent.

Our problem is that when we change from the 2D to the 3D view and then back to the 2D view, when we resize the window the 2D view does not get resized. The resize events don't get sent to the 2D view.

Our application runs under Linux (Fedora 11). We're running Java version 1.6.0_12.

Here is some sample code in which I've replaced the 2D view and 3D view with two 2 JButtons, that produces the same behaviour. Once you go to 3D and then back to 2D, resizing the window does not cause the 2D view to be resized.

(My apologies for the Netbeans generated GUI code)

I should mention that when we call parent.remove(view2D) and parent.add(view3D) to change the views the X Windows ID of our 3D view changes and we're unable to get our 3D view back. Therefore parent.remove(view2D) and parent.add(view3D) is not really a solution and we have to call setVisible(false) and setVisible(true) on the JComponents that contain our 2D and 3D views in order to hide and show them.

Any help will be greatly appreciated.