Pregunta

Esto es similar a la pregunta ¿Cómo construir un menú de pestañas y la interfaz de Google-Chrome en Java swing (que quiero lograr lo mismo), pero más al punto: ¿Cómo pongo componentes delante y detrás de las pestañas en una JTabbedPane?

Ya hemos llegado con los botones de la idea de mí mismo, pero yo prefiero tener un JTabbedPane, ya que es realmente lo que es, pero está decorado con un botón o iconos en los lados.

He visto que el proyecto LAF-Reproductor de Kirill hace algo por el estilo (el icono de lupa a la izquierda de las pestañas) durante varios SIAL. Sin embargo, debo admitir que no estoy aún así lo suficientemente versado para entender cómo lo hace - y también parece ser un proceso algo complicado, en el que uno "físicamente" cambiar las FAL en cuestión (código de bytes manipula), la inyección de la LAF -Widget cosas en los delegados de interfaz de usuario -. y yo todavía no sé cómo el JTabbedPane o TabbedPaneUI es en realidad modulados para inyectar ese icono / botón

¿Fue útil?

Solución

Finalmente le pregunté Kirill de de sustancias LaF / LAF-Reproductor de cómo se las arregla para poner un botón en el frente de las fichas de la LAF-widget que decora JTabbedPanes, y esta es su respuesta:

  

Se basa en el   campo BasicTabbedPaneUI.tabAreaInsets   para hacer espacio para el botón, y   setBounds personalizados del botón   componente para posicionarse en que   zona.

     

Para obtener más código, consulte TabOverviewButton   y clases en TabOverviewDialogWidget   el proyecto LAF en widgets.

     

En general, la interfaz de usuario TabbedPane   delegado es uno de los menos   los atractivos para mejorar, ya que   tiene mucha privada y el paquete   métodos protegidos

Gracias, Kirill!

Otros consejos

JIDE tener un panel con separadores como parte de su conjunto de componentes que expone esta funcionalidad tan simple setBeforeComponent () y setAfterComponent () métodos.

Hay una demostración de ello aquí: http://www.jidesoft.com /products/1.4/jide_demo.jnlp

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top