問題タブ [jsplitpane]

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 投票する
1 に答える
560 参照

java - java.awt.Canvasを使用すると、JSplitPaneのサイズが変更されませんか?

JSplitPane内のコンポーネントに使用している簡単な例がありjava.awt.Canvasますが、JSplitPaneでは調整できません。誰かが理由を説明できますか?(そしてもっと重要なことに、修正する方法)

VerticalSplit.java:

CanvasTest1.java:

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

java - Java:jsplitpaneとboxlayoutの問題

jsplitpanesの左側にある空きスペースを取り除きたい:

スクリーンショット

これが私のコードです:

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

java - CardLayout が正しく機能しない

Splitpane、Combobox、およびボタンとラベルを含む他のいくつかのパネルを使用して、この単純な Cardlayout の例を作成しました。

左にコンボボックス、右に他のカードレイアウトパネルがあるスプリットペインを見ることができます。コンボボックスのアイテムを変更しても、正しいサイズで何も起こりません。iam が cardout をヒットしているかどうかを確認するために、 System.out.print("Event Triggered \n");を使用しました。 しかし、私が見た驚くべきことは、コンボボックスアイテムごとに2回表示され、2回呼び出しているかのように変化することです

ここで間違っていることと、トリガーされたイベントが2回ヒットする理由を教えてください。いつもお世話になり、ありがとうございます。

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

java - JSplitPaneとCanvas

私が書いているアプリケーションの一部として、古い(重い)Canvasをswingコンポーネントと混合する必要があります。具体的には、それらをJSplitPane内にネストします。ただし、これを行うと、どちらのキャンバスもサイズの縮小を受け入れないかのように、仕切りはどこでもサイズ変更を拒否します。したがって、問題を示すコードは次のとおりです。

私は当初、これは簡単に解決できると思っていましたが、かなりの調査を行った後、オプションは次のように表示されます。

  • 代わりにJPanelを使用してください(vlcjを使用してキャンバスに直接レンダリングする場合のように常にオプションとは限りません)
  • 場合によっては機能する可能性のあるx危険なハックを挿入します

これを行うためのより良い方法はありますか?それとも、それは本当にハッキングに頼る場合ですか?代替のSplitPane実装が機能するかどうかなど、他のオプションについても議論しましたが、重量のある実装はなく、軽量の実装で問題が回避された場合は驚きます。

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

java - Java: タイマーがアクティブな場合、JSplitPane は上部パネルのコンテンツを下部パネルに複製します

だから私はJSplitPaneと2つのJPanelを持っています.1つは上に、もう1つは下にあります。両方のパネルで、paintComponent メソッドをオーバーライドし、独自のグラフィックを追加しました。下のパネルでは、アニメーションを追加したいと考えていました。パネルが再描画されない場合は問題ありませんが、タイマー (javax.swing.Timer) が再描画の呼び出しを開始するとすぐに、下部パネルが上部パネルの外観を模倣し、不具合が発生します。実際のアニメーションは更新されませんが、追加され続けます (動くオブジェクトではなく、ドラッグされた絵筆のように)。

Bottom Panel クラスのコードは次のとおりです。

Splitpane クラスのコードは次のとおりです。

トップパネルは少し複雑です。これには、マウス アクション (MouseEntered リスナーを含む) が含まれ、ユーザーのマウス入力と対話するためにアニメーション化されます。奇妙なことに、アニメーションとタイマーを使用するスワップアウトされた別の下部パネルがあり、この不具合はありません。

これを引き起こした可能性のあるアイデアはありますか?お世話になりました!

0 投票する
6 に答える
11221 参照

java - JSplitPane: ペインの 1 つを表示/非表示にする方法はありますか?

A と B の 2 つのコンポーネントを持つ JSplitPane がありますが、B を非表示にしたい場合があるため、次のいずれかが当てはまります。

  • コンポーネント A と B は JSplitPane に表示されます
  • コンポーネント A のみが JSplitPane が占有するスペースに表示されます

これを行う方法はありますか?

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

swing - 無効化された Swing コンポーネントの高さが必要です

基本的なセットアップは次のとおりです。私は固定サイズの下部コンポーネントとサイズ変更可能な上部コンポーネントを持ちたい垂直 JSplitPane を持っていますsetResizeWeight(1.0)。このアプリケーションには、「デフォルト」のウィンドウ構成を復元するためのボタンがあります。ウィンドウのデフォルトの高さはデスクトップの高さで、デフォルトの分割位置は分割ペインの下部から 100 ピクセルです。

仕切りの位置を 100px に設定するには、JSplitPane の高さを 100 に設定します。問題は、この直前に JFrame のサイズを変更することです。コードはボタン コールバックにあるため、JSplitPane は無効化されていますが、まだサイズ変更されていません。そのため、仕切りの位置が正しく設定されていません。

これがSSCCEです。ボタンを 2 回クリックして、問題を確認します。最初のクリックでウィンドウのサイズが変更されますが、仕切りの位置は同じままです (ウィンドウの下部に対して)。ウィンドウ サイズが変更されていないため、2 回目のクリックで仕切りが適切に移動します。

これを回避する方法をいくつか考えてみましたが、どれもハックのように思えます。これまでのところ、フレーム サイズの設定と分割位置の設定の間に呼び出しを行うのが最善の方法でしたがf.validate()、早期に検証を強制すると副作用が生じるのではないかと懸念しています。

私が考えたもう 1 つのオプションEventQueue.invokeLater()は、イベント キューの最後に仕切りの位置を設定するための呼び出しを配置するために使用することです。しかし、それは私には危険に思えます。私は、JSplitPane がその時点で検証済みであると想定しています。

より良い方法はありますか?

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

java - コンポーネントを交換するときにJSplitPaneディバイダーをロックするにはどうすればよいですか?

必要なときにさまざまなパネルをさまざまな時間に設定する、単純な拡張JSplitPaneがあります。具体的には、上下に分けて、下の部分を頻繁に入れ替えています。毎回、スライダーの位置を希望どおりにリセットしますが、ときどきジャンプして画面の上部に再配置されます(常にではありません)。

これが私のコードです:

基本的に、私は「setTo ... Controls()」メソッドを使用して下部パネルを交換します。パネルの好みのサイズに関係なく、スライダーを配置した場所に置いたままにする方法はありますか?そうでない場合は、パネルにどのような形をしてフィットするかを知らせるにはどうすればよいですか?すべての提案をありがとう!

編集:これらのパネルはレイアウトを使用していないことに注意してください。これらは、マウス/キーボードリスナーを使用し、独自のグラフィックを使用してペイントするカスタムパネルです。

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

java - JSplitPaneの問題をスイングする

コンポーネントを垂直方向に異なる部分に分割するにはどうすればよいですか?Swingで可能ですか?各パーツに異なるScrollBarを割り当てたいですか?

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

java - コンテンツの影響を受ける JSplitPane ディバイダーの色

JSplitPane 内に 2 つの JScrollPanes を表示するアプリケーションに取り組んでいます。各 JScrollPanes には、コンテンツを描画する JPanel が含まれています。問題は、JScrollPane の仕切りを調整すると、仕切りの色が影響を受けることです。内部に JPanel の外観を取り入れているようです。つまり、仕切りの背景には、JPanel で表示している単語と色のスニペットがあります。

ここで revalidate() か何かが欠けているようですが、その根底には到達できません。