Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [java] jlabel

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    331

    [java] jlabel

    Salve
    ho realizzato un jframe con un jpanel con sfondo ora vorrei posizionare delle jlabel in determinate posizioni come faccio?
    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    216
    hai pensato ad un LayoutManager

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [java] jlabel

    Originariamente inviato da xedy
    ho realizzato un jframe con un jpanel con sfondo ora vorrei posizionare delle jlabel in determinate posizioni come faccio?
    I JLabel immagino debbano stare nel JPanel, giusto? Questi JLabel vuoi posizionarli/dimensionarli esplicitamente tu? (non è generalmente una buona idea ma è chiaro che dipende da cosa devi fare di preciso).

    Comunque puoi togliere il layout manager dal JPanel (setLayout(null)) e aggiungere e poi posizionare/dimensionare tu i JLabel con setBounds o setLocation/setSize.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    331
    ok perfetto quello che mi hai detto ma così facendo si è tolto lo sfondo che avevo dato perchè?

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da xedy
    ok perfetto quello che mi hai detto ma così facendo si è tolto lo sfondo che avevo dato perchè?
    Bisogna vedere cosa hai scritto ....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    331
    ho scritto questo:

    JPanel panel = new BackgroundPanel (img);
    setLayout(null);

    int y = 15;
    label=new Label[y];
    int x = 0;
    int z = 130;
    for(int i=0;i<y;i++)
    {
    System.out.println(i);
    label[i]= new Label("ciao n.:"+i);

    label[i].setLocation(x, z);
    panel.add(label[i], BorderLayout.WEST);
    z = z + 30;
    }
    add (panel);

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da xedy
    JPanel panel = new BackgroundPanel (img);
    setLayout(null);
    Il setLayout devi farlo sul panel ... non sul container che contiene il panel!!

    Originariamente inviato da xedy
    int y = 15;
    label=new Label[y];
    Nota che stai usano Label ... è di AWT, non di Swing. Cerca sempre di evitare il più possibile mix di componenti AWT e Swing, perché può portare problemi di "sovrapposizione" strana (specialmente se ad esempio usi componenti Swing che hanno un "drop down" come JComboBox). Nel tuo caso andrebbe anche bene Label ... ma almeno per coerenza meglio usare JLabel!

    Originariamente inviato da xedy
    label[i].setLocation(x, z);
    Non basta setLocation .... l'ho detto sopra: o usi setBounds oppure setLocation e setSize. Devi dare posizione e dimensione!

    Originariamente inviato da xedy
    panel.add(label[i], BorderLayout.WEST);
    Il constraint BorderLayout.WEST non serve a una mazza ... non stai usando BorderLayout!!!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.