Ciao a tutti.
Utilizzo questo codice per ridimensionare automaticamente l'immagine nel JPanel a seconda della finestra che gli assegno.
Come posso applicare lo stesso sistema ad un bottone???codice:protected void paintComponent(Graphics g) { if (img == null) { super.paintComponent(g); } else { int panelWidth = getWidth(); int panelHeight = getHeight(); int imageWidth = panelWidth; int imageHeight = panelHeight; g.drawImage(img,0,0,imageWidth,imageHeight,null); } }
Che naturalmente contiene 3 immagini (normale,focused,pressed)
Questo è il codice del bottone che assume le tre immagini:
codice:public backgroundedButton(String localURL) { //recupero le 3 immagini (abilitato, cliccato e focalizzato) dall'URL relativo passato try { this.img = ImageIO.read(getClass().getResource(localURL)); this.img_PRESSED = ImageIO.read(getClass().getResource(localURL.substring(0, localURL.length()-4)+"_PRESSED.jpg")); this.img_FOCUSED = ImageIO.read(getClass().getResource(localURL.substring(0, localURL.length()-4)+"_FOCUSED.jpg")); } catch (IOException ex) {System.out.print("Impossibile leggere l'immagine per creare il bottone \n");} //elimino il contenuto grafico ed il contorno di default del pulsante this.setContentAreaFilled(false); this.setFocusPainted(false); //imposto l'immagine di base this.setIcon(new javax.swing.ImageIcon(img)); //imposto l'immagine visualizzata quando il mouse clicca sul pulsante this.setPressedIcon(new javax.swing.ImageIcon(img_PRESSED)); //imposto l'immagine visualizzata quando il mouse passa sopra il pulsante this.setRolloverEnabled(true); this.setRolloverIcon(new javax.swing.ImageIcon(img_FOCUSED)); }

Rispondi quotando
