問題タブ [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.
java - java.awt.Canvasを使用すると、JSplitPaneのサイズが変更されませんか?
JSplitPane内のコンポーネントに使用している簡単な例がありjava.awt.Canvas
ますが、JSplitPaneでは調整できません。誰かが理由を説明できますか?(そしてもっと重要なことに、修正する方法)
VerticalSplit.java:
CanvasTest1.java:
java - Java:jsplitpaneとboxlayoutの問題
jsplitpanesの左側にある空きスペースを取り除きたい:
これが私のコードです:
java - CardLayout が正しく機能しない
Splitpane、Combobox、およびボタンとラベルを含む他のいくつかのパネルを使用して、この単純な Cardlayout の例を作成しました。
左にコンボボックス、右に他のカードレイアウトパネルがあるスプリットペインを見ることができます。コンボボックスのアイテムを変更しても、正しいサイズで何も起こりません。iam が cardout をヒットしているかどうかを確認するために、 System.out.print("Event Triggered \n");を使用しました。 しかし、私が見た驚くべきことは、コンボボックスアイテムごとに2回表示され、2回呼び出しているかのように変化することです
ここで間違っていることと、トリガーされたイベントが2回ヒットする理由を教えてください。いつもお世話になり、ありがとうございます。
java - JSplitPaneとCanvas
私が書いているアプリケーションの一部として、古い(重い)Canvasをswingコンポーネントと混合する必要があります。具体的には、それらをJSplitPane内にネストします。ただし、これを行うと、どちらのキャンバスもサイズの縮小を受け入れないかのように、仕切りはどこでもサイズ変更を拒否します。したがって、問題を示すコードは次のとおりです。
私は当初、これは簡単に解決できると思っていましたが、かなりの調査を行った後、オプションは次のように表示されます。
- 代わりにJPanelを使用してください(vlcjを使用してキャンバスに直接レンダリングする場合のように常にオプションとは限りません)
- 場合によっては機能する可能性のあるx危険なハックを挿入します
これを行うためのより良い方法はありますか?それとも、それは本当にハッキングに頼る場合ですか?代替のSplitPane実装が機能するかどうかなど、他のオプションについても議論しましたが、重量のある実装はなく、軽量の実装で問題が回避された場合は驚きます。
java - Java: タイマーがアクティブな場合、JSplitPane は上部パネルのコンテンツを下部パネルに複製します
だから私はJSplitPaneと2つのJPanelを持っています.1つは上に、もう1つは下にあります。両方のパネルで、paintComponent メソッドをオーバーライドし、独自のグラフィックを追加しました。下のパネルでは、アニメーションを追加したいと考えていました。パネルが再描画されない場合は問題ありませんが、タイマー (javax.swing.Timer) が再描画の呼び出しを開始するとすぐに、下部パネルが上部パネルの外観を模倣し、不具合が発生します。実際のアニメーションは更新されませんが、追加され続けます (動くオブジェクトではなく、ドラッグされた絵筆のように)。
Bottom Panel クラスのコードは次のとおりです。
Splitpane クラスのコードは次のとおりです。
トップパネルは少し複雑です。これには、マウス アクション (MouseEntered リスナーを含む) が含まれ、ユーザーのマウス入力と対話するためにアニメーション化されます。奇妙なことに、アニメーションとタイマーを使用するスワップアウトされた別の下部パネルがあり、この不具合はありません。
これを引き起こした可能性のあるアイデアはありますか?お世話になりました!
java - JSplitPane: ペインの 1 つを表示/非表示にする方法はありますか?
A と B の 2 つのコンポーネントを持つ JSplitPane がありますが、B を非表示にしたい場合があるため、次のいずれかが当てはまります。
- コンポーネント A と B は JSplitPane に表示されます
- コンポーネント A のみが JSplitPane が占有するスペースに表示されます
これを行う方法はありますか?
swing - 無効化された Swing コンポーネントの高さが必要です
基本的なセットアップは次のとおりです。私は固定サイズの下部コンポーネントとサイズ変更可能な上部コンポーネントを持ちたい垂直 JSplitPane を持っていますsetResizeWeight(1.0)
。このアプリケーションには、「デフォルト」のウィンドウ構成を復元するためのボタンがあります。ウィンドウのデフォルトの高さはデスクトップの高さで、デフォルトの分割位置は分割ペインの下部から 100 ピクセルです。
仕切りの位置を 100px に設定するには、JSplitPane の高さを 100 に設定します。問題は、この直前に JFrame のサイズを変更することです。コードはボタン コールバックにあるため、JSplitPane は無効化されていますが、まだサイズ変更されていません。そのため、仕切りの位置が正しく設定されていません。
これがSSCCEです。ボタンを 2 回クリックして、問題を確認します。最初のクリックでウィンドウのサイズが変更されますが、仕切りの位置は同じままです (ウィンドウの下部に対して)。ウィンドウ サイズが変更されていないため、2 回目のクリックで仕切りが適切に移動します。
これを回避する方法をいくつか考えてみましたが、どれもハックのように思えます。これまでのところ、フレーム サイズの設定と分割位置の設定の間に呼び出しを行うのが最善の方法でしたがf.validate()
、早期に検証を強制すると副作用が生じるのではないかと懸念しています。
私が考えたもう 1 つのオプションEventQueue.invokeLater()
は、イベント キューの最後に仕切りの位置を設定するための呼び出しを配置するために使用することです。しかし、それは私には危険に思えます。私は、JSplitPane がその時点で検証済みであると想定しています。
より良い方法はありますか?
java - コンポーネントを交換するときにJSplitPaneディバイダーをロックするにはどうすればよいですか?
必要なときにさまざまなパネルをさまざまな時間に設定する、単純な拡張JSplitPaneがあります。具体的には、上下に分けて、下の部分を頻繁に入れ替えています。毎回、スライダーの位置を希望どおりにリセットしますが、ときどきジャンプして画面の上部に再配置されます(常にではありません)。
これが私のコードです:
基本的に、私は「setTo ... Controls()」メソッドを使用して下部パネルを交換します。パネルの好みのサイズに関係なく、スライダーを配置した場所に置いたままにする方法はありますか?そうでない場合は、パネルにどのような形をしてフィットするかを知らせるにはどうすればよいですか?すべての提案をありがとう!
編集:これらのパネルはレイアウトを使用していないことに注意してください。これらは、マウス/キーボードリスナーを使用し、独自のグラフィックを使用してペイントするカスタムパネルです。
java - JSplitPaneの問題をスイングする
コンポーネントを垂直方向に異なる部分に分割するにはどうすればよいですか?Swingで可能ですか?各パーツに異なるScrollBarを割り当てたいですか?
java - コンテンツの影響を受ける JSplitPane ディバイダーの色
JSplitPane 内に 2 つの JScrollPanes を表示するアプリケーションに取り組んでいます。各 JScrollPanes には、コンテンツを描画する JPanel が含まれています。問題は、JScrollPane の仕切りを調整すると、仕切りの色が影響を受けることです。内部に JPanel の外観を取り入れているようです。つまり、仕切りの背景には、JPanel で表示している単語と色のスニペットがあります。
ここで revalidate() か何かが欠けているようですが、その根底には到達できません。