Dans mon application, j'ai des étiquettes plus longues, sur un chinois, les étiquettes débordent et poussent également d'autres composants. Cela a seulement été observé sur un os chinois. Comment puis-je détecter et gérer les composants qui débordent?Manipulation de composants débordant dans la balançoire
Répondre
Je suppose que c'est un problème pour certains, en fonction de la taille de la fenêtre et de la langue.
Peut-être pas ce que vous voulez, mais vous pouvez vérifier la taille du texte comme celui-ci:
// get metrics from the graphics
FontMetrics metrics = graphics.getFontMetrics(font);
// get the height of a line of text in this font and render context
int hgt = metrics.getHeight();
// get the advance of my text in this font and render context
int adv = metrics.stringWidth(text);
Si le texte est plus long qu'une limite (vous devez tirer d'un chapeau,) vous pouvez tronquer ou peut-être même l'abréger - si elle est connue, ou éventuellement le remplacer par une icône et utiliser une info-bulle pour afficher le texte intégral.
JComponent a une méthode setMaximumSize qui pourrait vous aider. Selon le LayoutManager que vous utilisez, les résultats peuvent être différents. Pour définir des contraintes de ce type au niveau de la mise en page, vérifiez le SpringLayout.
Vous pouvez faire en sorte que JTextArea se comporte comme une étiquette avec un peu de code supplémentaire, mais il encapsulera le texte au besoin au lieu d'abréger avec une ellipse (...). Concevez votre interface utilisateur avec emballage en tête.
JTextArea label = new JTextArea();
label.setText(text);
label.setWrapStyleWord(true);
label.setLineWrap(true);
label.setEnabled(false);
label.setOpaque(false);
- 1. Balançoire: menu chevauchement de canevas
- 2. Safari: événement débordant sur les iframes
- 3. Utilisation de l'alpha dans la manipulation d'images
- 4. manipulation de chaînes dans AppleScript
- 5. Manipulation de chaînes dans MySQL
- 6. Manipulation de chaînes dans jQuery
- 7. apache HtmlUnit ..... problème dans la manipulation javascript
- 8. Manipulation de temps dans VC++
- 9. Django - Manipulation de la liste des listes dans la vue
- 10. Date Component Manipulation
- 11. Manipulation d'image dans CodeIgniter
- 12. ASP.NET MVC, manipulation de la structure d'URL
- 13. Manipulation de la documentation sur le papier
- 14. Composants n'apparaissant pas dans la fenêtre
- 15. VS2008: composants personnalisés imbriqués dans la conception
- 16. Manipulation de la couleur sIFR avec javascript
- 17. Threads C# pour la manipulation de fichiers
- 18. Modifier la liste des composants dans trac
- 19. manipulation de feuille Excel
- 20. Manipulation de table JavaScript
- 21. Comment mettre la sortie du lecteur/scanner BarCode dans la zone de texte développée en balançoire Java
- 22. Champs de manipulation dans le jTable Java
- 23. Manipulation de chaînes dans MS SQL Server
- 24. Manipulation de chaîne simple dans VB.NET
- 25. manipulation de volume/mélangeur dans GNOME
- 26. Composants panés dans GSP
- 27. manipulation de chaînes iphone
- 28. TextBox Recherche manipulation de chaînes
- 29. LDAP contre ADSI dans la manipulation des utilisateurs Active Directory
- 30. Manipulation de la fonction de division pour deux baies
Ceci est la meilleure solution pour mes fins. Il y a une étiquette qui déborde, mais il y a aussi un débordement de titre. Donc, en utilisant myComponent.getFontMetrics (police) et l'insertion d'info-bulle si une certaine longueur fonctionne bien, mais pas idéal. –