/ / JScrollPane - как се показват JTable заглавки? - Java, люлка, jtable, jscrollpane

JScrollPane - как се показват JTable заглавията? - java, swing, jtable, jscrollpane

Каква част от кода на JScrollPane е отговорен за показването на заглавията на колоните на JTable?

Ако просто добавите JTable към JPanel, то няма да покаже заглавките по подразбиране. Трябва или да преминете таблицата към конструктора на JScrollPane или да се обадите на JScrollPane setViewportView с таблицата като аргумент. Така че всъщност, какво прави заглавките на колоните видими? Част ли е от вътрешното изобразяване на JScrollPane (updateUI и getUI методи)?

Първоначално си мислех, че JScrollPane използва своя setColumnHeaderView за да постигнете това, но това не се случва (прехвърлете нула към този метод, таблицата все още ще показва заглавките).

Отговори:

2 за отговор № 1

Най- JTable е отговорен за това.

Най- addNotify() метод на JTable е отменено. По принцип този метод се извиква, когато компонент е добавен към видим контейнер.

Така че JTable изпълнението проверява дали родителят на таблицата е a JViewport, Ако е така, добавя заглавката на таблицата в панела за превъртане с помощта на setColumnHeaderView(...) метод.