2009-05-20 2 views
0

これは質問How to build a Google-chrome tabs and menubar interface in Java Swing?と似ていますが、これはもっと重要です。JTabbedPaneのタブの前後にコンポーネントを配置するにはどうすればいいですか?JTabbedPane:タブ自体の前後のコンポーネント

私はすでに自分自身でボタンアイデアを思いついてきましたが、JTabbedPaneを実際には持っていますが、サイドまたはボタンで装飾されています。

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

答えて

1

私は最終的に彼がJTabbedPanesを飾るLAF-ウィジェット内のタブの前にボタンを配置するためにどのように管理するかのSubstance LaF/LAF-ウィジェットのキリルを尋ね、これは彼の返事です:

それは依存しています BasicTabbedPaneUI.tabAreaInsetsフィールド ボタンのためのスペースを確保し、ボタン コンポーネントの カスタムsetBoundsを エリアに配置します。

詳細については、 およびTabOverviewDialogWidgetクラスの のlaf-widgetプロジェクトを参照してください。一般的に

は、タブ付きペインのUI デリゲートは、それ プライベートをたくさん持っているので、強化し、 保護方法

おかげで、キリルをパッケージ化するために少なくとも 魅力的なものの一つです!

1

JIDEには、単純なsetBeforeComponent()およびsetAfterComponent()メソッドとしてこの機能を公開するコンポーネントスイートの一部としてタブ付きペインがあります。

ここにそのデモがあります。http://www.jidesoft.com/products/1.4/jide_demo.jnlp

+0

それはありますか?素晴らしい - 私はちょうどStackoverflow上の別の答えからJideの方向を指摘したが、まだAPIをチェックアウトしていない - スクリーンショットは、このような機能にはまったく示唆していない。私はJideを使ってLaFを失うと思いますか? – stolsvik

+0

それはあなたが何をしているかによって異なります。 JIDEコンポーネントは、LaFを尊重するのに大変優れています。私たちはシンセティカでそれを使用し、シームレスです。 – banjollity

+0

どのように依存しますか?いくつかのドキュメントがある場所のポインタがありますか?私はそれを見つけるように見えない。私は今物質でそれを使用しようとします、そして、それはblatanlyはそれを尊重しません。それは、いくつかの "vsnet" UIを使ってペイントするようです。 – stolsvik

関連する問題