2016-03-05 2 views
0

Est-il possible de définir la visibilité d'une barre de défilement verticale de Matlab à tout moment, et si oui, comment? Lorsque la hauteur de la ligne * nombre de lignes de la table est inférieure à la hauteur totale, aucune barre de défilement n'est affichée et l'espace «vide» à droite de la table correspond à la barre de défilement verticale. Ce n'est pas attrayant à regarder, et je voudrais montrer la barre de défilement à tout moment là.MATLAB - visibilité de la barre de défilement uitable

J'ai lu cette page, http://undocumentedmatlab.com/blog/customizing-listbox-editbox-scrollbars mais cela n'a pas été utile pour les barres de défilement uitable.

Répondre

1

En utilisant l'outil findjobj de Yair, je peux le faire en utilisant VERTICAL_SCROLLBAR_ALWAYS pour le VerticalScrollBarPolicy.

table = uitable(); 
jtable = findjobj(table); 

policy = javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS; 

set(jtable, 'VerticalScrollBarPolicy', policy) 

enter image description here

This blog post réclamations que vous devez configurer un rappel lorsque le uitable est redimensionnée, mais je ne vois pas de problèmes sans faire que sur R2015b. Mais pour être complet

callback = @(s,e)set(s, 'VerticalScrollBarPolicy', policy); 
set(jtable, 'ComponentResizedCallback', callback) 
+0

Sur la base de cette réponse que j'ai pu comprendre que j'ai manqué la déclaration d'importation quand je tentais l'outil de Yair, et il a été briser le code. Merci! – eNc

+0

@eNc La déclaration d'importation est en fait facultative. Je l'ai juste fait pour que je puisse adapter le code dans une fenêtre étroite. Vous pouvez également utiliser le nom complet de la constante 'javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS' plutôt que d'importer quoi que ce soit – Suever

+0

C'est encore mieux, pour un code plus propre dans mon cas. Merci beaucoup! – eNc