Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446

    colorare frame con #0099FF invece che con valori int per RGB

    salve a tutti sto creando un programmino e vorrei colorarlo utilizzando specifice con questo valore #0099FF invece che inserendo i vari valori per l'rgb.Al momento uso questo per specificare il colore del pannello:

    panel2.setBackground(new java.awt.Color(0,153,255));// i valori int corrispondono a quelli RGB

    aiuti?

    edit: è possibile aggiungere anche il valore alfa?così da settare anche un po' di trasparenza?
    grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    72
    codice:
    setBackground(new Color(0xf0099FF));
    Ciao.

  3. #3
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446
    perfetto funziona grazie mille,sai aiutarmi anche per il canale alfa per gestire le trasparenze?

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    72
    Per la trasparenza devi usare un overload del costruttore Color

    new Color(valore,true)

    In questo modo i bit da 24 a 31 sono per la trasparenza (in sostanza un valore da 0 [massima trasparenza] a 255 [massima opacita]) mentre gli altri bit sono la consueta tripletta RGB

    Prova questo codice e guarda l'effetto ottenuto:

    codice:
    import java.awt.Color;
    import java.awt.FlowLayout;
    import javax.swing.BorderFactory;
    import javax.swing.JEditorPane;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.JTextPane;
    
    public class TestHEXColor {
    	public static void main(String[] args) {
    		JFrame form=new JFrame();
    		form.setSize(500,500);
    		form.getContentPane().setLayout(null);
    		
    		//pannello NERO con trasparenza FF -> massima, cioè completamente opaco 
    		JPanel panel1=new JPanel();
    		panel1.setBounds(0,0,300,300);
    		panel1.setBackground(new Color(0xFF000000,true));
            
    		//pannello BLU con trasparenza 7F -> 127  cioè metà trasparente
    		JPanel panel2=new JPanel();
    		panel2.setBounds(130,130,300,300);
    		panel2.setBackground(new Color(0xAA123456,true));
    		
    		//Sovrappongo i pannelli per vedere il risultato
    		form.getContentPane().add(panel2);
    		form.getContentPane().add(panel1);
    		
    		form.show();
    	}
    }

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    72
    Scusa errore

    codice:
    import java.awt.Color;
    import java.awt.FlowLayout;
    import javax.swing.BorderFactory;
    import javax.swing.JEditorPane;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.JTextPane;
    
    public class TestHEXColor {
    	public static void main(String[] args) {
    		JFrame form=new JFrame();
    		form.setSize(500,500);
    		form.getContentPane().setLayout(null);
    		
    		//pannello NERO con trasparenza FF -> massima, cioè completamente opaco 
    		JPanel panel1=new JPanel();
    		panel1.setBounds(0,0,300,300);
    		panel1.setBackground(new Color(0xFF000000,true));
            
    		//pannello BLU con trasparenza 7F -> 127  cioè metà trasparente
    		JPanel panel2=new JPanel();
    		panel2.setBounds(130,130,300,300);
    		panel2.setBackground(new Color(0x7F123456,true));
    		
    		//Sovrappongo i pannelli per vedere il risultato
    		form.getContentPane().add(panel2);
    		form.getContentPane().add(panel1);
    		
    		form.show();
    	}
    }

  6. #6
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446
    grazie mille david penso di aver capito,ora dovrei provare a far qualcosa stile aqua

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.