問題タブ [jtabbedpane]
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 - JTabbedPanesでのタブタイトルの色の設定
JTabbedPaneで、選択された状態と選択されていない状態の両方のタブタイトルの色をどのように設定しますか?
java - java - リスナーを無効にする
リスナーについて一般的な質問があります。
JTabbedPane
2 つの があり、両方に があるとしましょうChangeListener
。それらは両方とも表示され、両方に同じペイン (インデックス) を表示したいので、ユーザーが選択したペインを変更すると、他のペインも変更されます。
簡単に言えば、一方の JTabbedPane リスナーがJTabbedPane
を使用して他方を変更しsetSelectedTab()
ます。
明らかに、最初のリスナーが 2 番目のリスナーをアクティブにし、2 番目のリスナーが最初のリスナーをエンドレス オペレーションで再アクティブ化します。
これはブール値で解決されます。
それを行うためのよりスマートな方法はありますか?
リスナーをトリガーせずにタブを変更する方法はありますか?
コードではなくユーザーが変更した場合にのみリスナーをアクティブにする方法はありますか?
ありがとうございました。
ところで:私はいつもボタンについて同じ質問をしています。しかし、ボタンの場合は、リスナーからコードを取得してメソッドに入れます。ワンボタンがボタンをアクティブにする必要がある場合、そのコードを呼び出します。しかし、JTabbedPane では違います。
java - JTabbedPaneタブでJLabelを変更するには?
JTabbedPane があるとします。これらの各タブには、JLabel を含む JPanel と JButton があります。JLabel のテキストが既にペインに追加された後、どのように変更できますか?
java - JTabbedPane ChangeListener
選択したタブがいつ変更されたかを検出し、そのインデックスを取得する必要があります。
次のコードは機能しますが、println
現在読み込まれているタブの数だけ起動します。
これを行う正しい方法は何ですか?
java - 開いているタブがJavaでアクティブなタブかどうかを確認するにはどうすればよいですか?
タブが表示されている場合にのみ更新したい jtabbed ペイン内にパネルがあります。isShowing()、isDisplayable()、および isVisible() を試しましたが、コンポーネントが表示可能、表示可能、または可視であるかどうかをチェックするため、どれも機能していないようです。
できれば、JTabbedPane 内の JPanel のコンテキストから、JPanel があるタブがアクティブなタブであるかどうかをどのように判断すればよいでしょうか?
java - JTabbedPane の特定のタブに注意が必要であることをユーザーに通知するにはどうすればよいですか?
5 つ以上のタブを持つユーザー インターフェイスがあり、タブ "2" に注意が必要であることをユーザーに通知する必要があるとします。
これを行う方法はありますか?たとえば、タブをオレンジ色に点滅させたり、タブの色を変更したりしますか? 私はrequestFocusで成功していません。
編集:可能であれば、タブ 2 にフォーカスを強制する方法も知りたいです。
java - JTabbedPaneタブの高さ幅背景の前景色を設定する方法(選択されたタブと選択されていないタブの両方)
JTabbedPane
タブの背景と前景、高さ、幅を設定する方法(選択されたタブと選択されていないタブの両方)
java - JTabbedPane タブの形状を変更するにはどうすればよいですか?
のタブの形状を変更しようとしていますJTabbedPane
。を使用setTabComponentAt(0, someComponent);
しても、左上隅が斜めの長方形であるタブの外観は変わりません。形を変えるにはどうしたらよいでしょうか?
java - タブを切り替えると JXMultiSplitPane がおかしくなる
JXMultiSplitPane
(SwingX 1.6.2 から) を使用して、3 ペインの水平インターフェイスを実装しています。中央のペインにはJTabbedPane
2 つのタブがあります。1 つはMarkdown コードの入力に使用される (もちろんJTextArea
内の) で、もう 1 つはレンダリングされた HTML プレビューを表示するための (スクロール ペイン内) です。ユーザーがプレビュー ペインに切り替えると、エディター内のテキストが処理され、プレビュー ペインに表示されます。JScrollPane
JEditorPane
私の問題は、エディターに長い行でテキストを入力してからプレビューに切り替えると、中央のペインが拡大することです。ほんの少しだけの場合もあれば、実際の画面よりも多くのスペースを占める場合もあります。しかし、サイズ変更ハンドルの 1 つを手動で移動すると、すべてが所定の位置に戻ります。
これが発生する前にこれに対処する方法は2つしかありません。
- テキストを入力する前に、いずれかのペインのサイズを手動で変更します。
- MultiSplitLayout モデルで、中央のペインに 1 の重みを付けます。
デフォルトでは、中央のペインを拡大してほぼウィンドウ全体を占めるため、2番目のものは使用できません。
これを修正する方法はありますか?
アップデート
もう少しテストした後、手法 (2) でさえサイズを一定に保ちません。2 つのタブを切り替えると、中央のペインのサイズがわずかに変わります。
問題の一部はタブ付きペインにあると考えています。JTextArea
とはJEditorPane
同じサイズではなく、JTabbedPane
それらを切り替えるとサイズが変更されます (JEditorPane
毎回テキストをリセットしているためです。JXMultiSplitPane
ユーザーが強制的に手動でサイズ変更することにより、特定のサイズ。
したがって、サイズを固定することで問題を解決できるはずですがJTabbedPane
、ハンドルバーでサイズを変更することもできます。それを行うためのヒントはありますか?
java - JTabbedPane:スタック/ニンバスの場合、タブの自動並べ替えを回避します
JTabbedPaneは、私が自分の目的に必要なものです。水平方向のスペースが非常に限られているため、タブが積み重ねられます。これはまったく問題ありません。
ただし、デフォルトの動作では、ユーザーがタブをクリックすると、*タブが再ソートされ、アクティブなタブが下位の*tになります。理論的には非常に直感的で論理的に見えるのは、ユーザーが「どちらがどちらであったか」を見失ってしまうため、実際の使用では悪夢です。それは単に紛らわしいだけで、私は何度も何度も言われます。
この動作を回避するために、UIのいくつかのメソッドをオーバーライドすることが可能であると思います(そして、これが紙のカードで物理的に可能かどうかは気にしません:-)。
誰かが私がそれをする必要がある場所について何か考えがありますか?私はニンバスLAFを使用していますが、それは簡単ではないようです。
(radiobuttons / cardLayoutを使用することを考えましたが、タブのタイトルにカスタムパネルを配置する必要があり、ラジオボタンには文字列またはアイコンしか含めることができません。JToggleButtonについても同じです...)
ヒントは大歓迎です!
ありがとう&親切よろしく、フィリップ