0

これは、Java Swing で Google クローム タブとメニューバー インターフェイスを構築する方法は? という質問に似ています。(私は同じことを達成したい)、しかしもっと要点: JTabbedPane のタブの前後にコンポーネントを配置するにはどうすればよいですか?

私はすでにボタンのアイデアを自分で思いつきましたが、JTabbedPane の方がいいと思います。JTabbedPane が実際にそれであり、側面にボタンまたはアイコンで装飾されているからです。

Kirill のlaf-widgetプロジェクトが、いくつかの LaF に対して同様のことを行っているのを見てきました (タブの左側にある虫眼鏡アイコン)。しかし、私はまだ彼がどのようにそれを行うのかを理解するのに十分なほど精通していないことを認めなければなりません-また、問題のLaFを「物理的に」変更し(バイトコードが操作します)、lafを注入するという、やや複雑なプロセスのように思えます-ウィジェットをUIデリゲートに追加します-JTabbedPaneまたはTabbedPaneUIが実際にそのアイコン/ボタンを挿入するためにどのように調整されるかはまだわかりません。

4

2 に答える 2

1

最後にSubstance LaF /laf-widget の Kirill に、JTabbedPanes を装飾する laf-widget のタブの前にボタンを配置する方法について尋ねたところ、彼の答えは次のとおりです。

BasicTabbedPaneUI.tabAreaInsets フィールドに依存してボタン用のスペースを確保し、ボタン コンポーネントのカスタム setBounds を使用してその領域に配置します。

コードの詳細については、laf-widget プロジェクトの TabOverviewButton クラスと TabOverviewDialogWidget クラスを参照してください。

一般に、タブ付きペインの UI デリゲートは、多くのプライベート メソッドとパッケージで保護されたメソッドを持っているため、強化する魅力が最も少ないものの 1 つです。

ありがとう、キリル!

于 2009-05-21T08:14:13.233 に答える