J'ai un tableau de Java Swing JLabels. L'utilisateur de mon programme peut ajouter un nouveau JLabel au JFrame, et je veux que la taille du texte dans le JLabel change en fonction du nombre de JLabels dans le cadre. S'il y a trop de JLabels, le texte sera toujours adapté et ne chevauchera pas les autres JLabels.Redimensionnement dynamique d'un texte dans un JLabel
Répondre
Ne semble pas joli, mais si c'est ce que vous voulez, voici un petit morceau de code à compiler et à exécuter. N'hésitez pas à extraire le code dont vous avez besoin pour votre projet. Amusez-vous, - M.S.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class LabelSize extends JPanel {
private Font font;
private JPanel panel;
private JLabel label = new JLabel ("Font Size Adapter Label", JLabel.CENTER);
private JTextField tf = new JTextField ("Type in text for new label here and hit [Enter]");
public LabelSize() {
super (new BorderLayout());
panel = labelPanel();
add (panel, "North");
add (tf, "South");
tf.addActionListener (new ActionListener() {
public void actionPerformed (ActionEvent e) {
label.setText (tf.getText());
label.setFont (font);
int labelW = (int) Math.ceil (label.getPreferredSize().getWidth());
int maxWidth = (int) Math.floor (panel.getSize().getWidth());
if (labelW <= maxWidth)
return;
for (int k = 1 ; labelW > maxWidth ; k++) {
Font labelFont = font.deriveFont (font.getSize() - k*1.0f);
label.setFont (labelFont);
labelW = (int) Math.ceil (label.getPreferredSize().getWidth());
}}});
}
private JPanel labelPanel() {
JPanel lp = new JPanel(new BorderLayout());
lp.setPreferredSize (new Dimension (270,30));
lp.add (label, "North");
font = label.getFont();
return lp;
}
public static void main (String[] args) {
JFrame lsFrame = new JFrame ("Lfit");
lsFrame.add (new LabelSize());
lsFrame.pack();
lsFrame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
lsFrame.setVisible(true);
}}
merci pour le code, mais oui personne qui fonctionne pour moi, j'ai besoin de quelque chose qui redimensionne basé sur taille du Jlabel – italiano40
Vous êtes les bienvenus, et désolé, je ne comprends pas le commentaire - quelle partie du code ne fonctionne pas? Je l'ai simplement copié-collé sur un éditeur, sauvegardé, compilé et lancé, ça marche très bien. Peut-être que je n'ai pas bien compris votre question - quel composant (quelque chose) voulez-vous redimensionner? Voulez-vous que les JLabels soient de police fixe (par défaut)? –
- 1. Texte dynamique - Redimensionnement automatique de la police
- 2. JLabel - comment cacher un texte?
- 3. comment créer un JLabel dynamique à partir de netbeans
- 4. Redimensionnement colonne dynamique dans .Rprofile
- 5. Comment mettre à jour un texte JLabel?
- 6. Redimensionnement dynamique de l'image
- 7. Redimensionnement dynamique div
- 8. Redimensionnement dynamique de l'image
- 9. Redimensionnement dynamique d'un Iframe
- 10. TabLayoutPanel redimensionnement dynamique?
- 11. Hyperlink dans un JLabel
- 12. Texte formaté dans jlabel et valeurs importées
- 13. Afficher le texte dans Swing sans JLabel
- 14. comment mettre un JLabel dans un JLabel ou diviser un JLabel en carrés
- 15. Texte JLabel html ignore setFont
- 16. Afficher plusieurs lignes de texte dans JLabel
- 17. Sélection du texte d'un JLabel?
- 18. Comment présenter du texte verticalement dans un JLabel? (Java 1.6)
- 19. Comment aligner du texte à droite dans un JLabel?
- 20. changer le texte de jLabel dans un jPanel draggable
- 21. Prévenir l'animation lors du redimensionnement dynamique popover
- 22. Redimensionnement d'un tableau dynamique C++
- 23. JQuery: redimensionnement dynamique de l'image
- 24. Redimensionnement du texte dans uitableviewcell
- 25. définir l'image d'arrière-plan dans Jlabel (Label) boîte avec du texte dynamique
- 26. fenêtre SWT java redimensionnement dynamique
- 27. Redimensionnement dynamique d'un accordéon ouvert
- 28. Redimensionnement de contenu dynamique Iframe
- 29. Centrer JLabel dans un panneau
- 30. JLabel Largeur Indépendant de la longueur du texte
OK .. Avez-vous une question à propos de cela? Si c'est le cas, n'hésitez pas à modifier votre message et à ajouter les questions. De préférence avec un SSCCE (http://pscode.org/sscce.html) de ce que vous avez déjà essayé. –
La question est ce qui est un bon code à la taille dynamique du texte dans l'étiquette afin que l'utilisateur peut ajouter autant qu'ils veulent des étiquettes – italiano40