Visualizzazione dei risultati da 1 a 7 su 7

Discussione: JLabel e Immagini

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    11

    JLabel e Immagini

    Salve, sto facendo un programmino in java cn la grafica, il mio problema è mettere varie immagini in varie JLabel...Praticamente il mio JFrame è composto da 2 pannelli, premetto che questi pannelli sono oggetti di una classe creata da me che estende JPanel per poter aggiure l'immagine come sfondo...ho usato lo stesso metodo per le Label ma nn funziona, comunque nel pannello sopra ci sono 4 bottoni ( che per ora quando eseguo il programma non me li visualizza subito ma guando e se ci passo sopra con il mouse...perchè?) e 5 JLabel che sono quasi una sovrapposta all'altra e ognuna deve contenere un immagine...analogamente nell'altro pannello ce ne sono 8 non sovrapposte ma ognuna deve contenere un immagine...queste immagini nella Labe dovrebbero poi cambiare con l'avanzare del programma...Ho provato con ImageIcon e setIcon ma non funziona non visualizza nulla...cosa devo fare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    11
    Ho provato anche a fare JLabel.setBackground(Color.black) e non me la colora neanke di nero...secondo me resta dietro lo sfondo del pannello è possibile?

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

    Re: JLabel e Immagini

    Originariamente inviato da Kapuz92
    e 5 JLabel che sono quasi una sovrapposta all'altra
    Occhio che la questione della "sovrapposizione" di componenti è una cosa meno banale di quello che si pensa ....

    Originariamente inviato da Kapuz92
    dovrebbero poi cambiare con l'avanzare del programma...
    Qui bisognerebbe capire cosa si intende, a livello proprio pratico/tecnico, per "avanzare".

    Originariamente inviato da Kapuz92
    cosa devo fare?
    Senza vedere bene il codice che hai scritto non saprei bene nemmeno io cosa consigliarti.
    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
    Feb 2011
    Messaggi
    11
    codice:
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Container;
    import java.awt.Font;
    
    import javax.swing.*;
    import javax.swing.border.LineBorder;
    
    
    public class xxx extends JFrame {
    	//ATTRIBUTI DELLA CLASSE.
    		//VARIABILI UTILI.
    			//STRINGHE DI TESTO FISSE.
    				private final String titleWindow="Briscola Chiamata";
    			//TIPI DI BORDI DEI COMPONENTI.
    				private final LineBorder cardSelect=new LineBorder(Color.LIGHT_GRAY,2,true);
    				private final LineBorder playerSelect=new LineBorder(Color.GRAY,3,true);
    			//TIPI DI FONT PER I VARI COMPONENTI.
    				//Font default default.
    				private Font fDefault=new Font("MS Sans Serif",Font.BOLD,12);
    			//VARIABILI FLAG PER I COMPONENTI.
    		
    		//COMPONENTI GRAFICI.
    			//CONTENITORE E PANNELLI.
    				private Container cont=getContentPane();
    				private ImagePanel table=new ImagePanel("D:\\Andrea\\Documents\\Programmazione\\BriscolaChiamata\\src\\Image\\Table.jpg");
    				private ImagePanel cards=new ImagePanel("D:\\Andrea\\Documents\\Programmazione\\BriscolaChiamata\\src\\Image\\Background.jpg");
    
    				//Panel
    			//BOTTONI E LABEL
    				//Pannello 'table'.
    					//Label per le carte giocate sul tavolo.
    					private JLabel card1=new JLabel();
    					private ImageLabel card2=new ImageLabel();
    					private ImageLabel card3=new ImageLabel();
    					private ImageLabel card4=new ImageLabel();
    					private ImageLabel card5=new ImageLabel();
    					//Bottoni per rappresentare i giocatori.
    					private JButton player1=new JButton("");
    					private JButton player2=new JButton("");
    					private JButton player3=new JButton("");
    					private JButton player4=new JButton("");
    					
    				//Pannello 'cards'.
    					//Label per carte in mano.
    					private ImageLabel handCard1=new ImageLabel();
    					private ImageLabel handCard2=new ImageLabel();
    					private ImageLabel handCard3=new ImageLabel();
    					private ImageLabel handCard4=new ImageLabel();
    					private ImageLabel handCard5=new ImageLabel();
    					private ImageLabel handCard6=new ImageLabel();
    					private ImageLabel handCard7=new ImageLabel();
    					private ImageLabel handCard8=new ImageLabel();
    					//Label di testo per informazioni.
    					private JLabel user=new JLabel("Giocatore");
    					private JLabel punteggio=new JLabel("Punteggio");
    					//TextField per segnare il punteggio.
    					private JTextField point=new JTextField("0");
    					//Bottoni per segnalare il turno.
    					private JButton myTurn=new JButton();
    			//COMPONENTE per la CONNESSIONE.
    				//Connect connect=new Connect();
        	
        //COSTRUTTORE E PARAMENTRI INIZIALI DEI COMPONENTI.
    	    
    	    public xxx() {
    			setWindow();
    			setPanelTable();
    			setPanelCards();			
    	    }
    	    	    
    	//METODI STATICI.
    		//Metodo settaggio componenti.
    		//FINESTRA.
    			public void setWindow(){
    				//Caratteristiche finestra(Dimensione, vincoli di finestra e di chiusura, Font).    	
    			    	this.setTitle(titleWindow);
    			    	this.setSize(800,600);
    			    	this.setResizable(false);
    			    	this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);			    	
    			    	this.setFont(fDefault);
    			    	this.setVisible(true);
    			}
    		//PANNELLI.
    			public void setPanelTable(){
    				//Caratteristiche del contenitore(Introduce nel contenitore della finestra il pannello)		    
    		    		cont.add(table);
    				//Caratteristiche pannello per il tavolo(Aggiunta dei componenti al pannello).					
    					table.setBounds(0,0,800,330);
    					table.setLayout(null);
    					//Aggiunta componenti.
    						table.add(card1, BorderLayout.CENTER);
    						table.add(card2);
    						table.add(card3);
    						table.add(card4);
    						table.add(card5);
    						table.add(player1);
    						table.add(player2);
    						table.add(player3);
    						table.add(player4);
    					//Settaggio componenti.
    						setLabelTable();
    						setButtonTable();
    			}
    			public void setPanelCards(){
    	    		cont.add(cards);	    		
    				//Caratteristiche pannello per le carte(Aggiunta dei componenti al pannello).			    	
    		    		cards.setBounds(0,330,800,270);		 
    		    		cards.setLayout(null);
    			    		//Aggiunta componenti.
    							cards.add(handCard1);
    							cards.add(handCard2);
    							cards.add(handCard3);
    							cards.add(handCard4);
    							cards.add(handCard5);
    							cards.add(handCard6);
    							cards.add(handCard7);
    							cards.add(handCard8);
    							cards.add(user);
    							cards.add(punteggio);
    							cards.add(point);
    							cards.add(myTurn);
    						//Settaggio componenti.
    							setLabelCards();
    							setOtherCards();
    					
    			}
    		//LABEL
    			public void setLabelTable(){
    				card1.setBounds(250,100,80,130);
    				card2.setBounds(305,100,80,130);
    				card3.setBounds(360,100,80,130);
    				card4.setBounds(415,100,80,130);
    				card5.setBounds(470,100,80,130);
    				card1.setIcon(new ImageIcon("D:\\Andrea\\Documents\\Programmazione\\BriscolaChiamata\\src\\Image\\Image\\3c.jpg"));
    			
    			}
    			public void setLabelCards(){
    				
    			}
    		//BOTTONE
    			public void setButtonTable(){
    				player1.setBounds(100,50,50,50);
    				player2.setBounds(650,50,50,50);
    				player3.setBounds(650,280,50,50);
    				player4.setBounds(100,280,50,50);
    			}
    			public void setOtherCards(){
    				
    			}
    		
    	//METODI CLASSE.
    		//Metodi d'accesso agli attributi.			
    			
    	//CONTROLLI.	
    	//GESTIONE DEGLI EVENTI.
    	       	//FOCUS.	    		
    	    	//MOUSE.
    }

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    11
    card1.setIcon(new ImageIcon ("D:\\Andrea\\Documents\\Programmazione\\BriscolaC hiamata\\src\\Image\\Image\\3c.jpg"));
    Ok son riuscito a scoprire che l'immagine me la carica in un componente JButton, quindi il percorso è esatto e la sintassi pure, solo che applicata ad una JLabel non mi visualizza niente...come posso fare a risolvere? O anche un altro modo per inserire le immagini

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    La prossima volta, posta il codice all'interno degli appositi tag CODE, come espressamente richiesto dal Regolamento interno (punto 6), altrimenti ne risulta un'accozzaglia incomprensibile, perdendo completamente formattazione e indentazione.

    Ho sistemato io.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    11
    Grazie e scusi!

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.