2011-08-30 18 views
5

API introlekcji Java Beans obejmuje w klasie PropertyDescriptor metodę isExpert. Edytor GUI oparty na komponentach bean, taki jak WindowsMaker, służy do ukrywania lub pokazywania "egzotycznych" właściwości.Jak ustawić właściwość komponentu bean Java jako właściwość eksperta?

Co powoduje, że określona właściwość komponentu Java bean może być uznana za "eksperta"? W jaki sposób biblioteka Swing na przykład ustawia określone właściwości jako "właściwości eksperckie"? Jak mogę programowo zrobić to samo dla fasoli Java, którą piszę?

Odpowiedz

1

Możesz utworzyć klasę BeanInfo dla swojej fasoli. Umożliwia to dostosowanie deskryptora właściwości. Istnieje sekcja obejmująca to w JavaBean tutorial.

+0

Dzięki, tego właśnie szukałem. –

2

To najwyraźniej odbywa się w JDK przy użyciu niestandardowego rozszerzenia kompilatora.

Jeśli spojrzeć na kodzie źródłowym Swing, niektóre komentarze javadoc obejmują @beaninfo tag, zawierające takie informacje:

/** 
* ... Some comment ... 
* @beaninfo 
*  bound: true 
*  expert: true 
*/ 
public void setSomething(SomeType value) { 
    // ... 
} 

Oto przykład, w JTable class source code.

Znalazłem również this article, mówię o tagu @beaninfo.

+0

Wygląda na to, że Sun zaimplementował Doclet do generowania klas BeanInfo ... – jackrabbit

Powiązane problemy