|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2002
Messaggi: 340
|
Info varie su java: sfondo trasparente, testo colorato
Usando AWT:
1) c'e' un modo per fare schermate trasparenti? Ho tolto tutti i bordi col comando setUnancorated, e volevo dare forme strane, tipo ellissi, alla finestra della mia applicazione (usando la paint()). 2) Come faccio a creare testo colorato (so renderlo grassetto, cambiare il font, ecc., ma proprio ignoro come colorarlo) Grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
1) Interessante...ma intendi trasparenti nel senso che devono vedersi le finestre che ci sono sotto??
2)Devi usare il metodo setForeColor(Color c) del contenitore del testo...ad es una label... |
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
Se usi componenti swing (tipo JLabel) puoi usare l'html per generare Stringhe composite.
Ad esempio: String testo="<html><font color=red>Ciao</font>a tutti</html>" JLabel label=new JLabel(test) genera un'etichetta con la scritta "Ciao" in rosso e "a tutti" in nero. Altri tag generano combinazioni differenti. Per quanto riguarda le finestre trasparenti è una settimana che "ci sbatto la capoccia" sopra. Il problema non è tanto la finestra in sè quanto lo spostamento della stessa. Le finestre Java non possono avere (al momento) un colore di sfondo trasparente. La cosa si aggira facilmente impostando come sfondo una porzione di immagine tratta dallo schermo (metodo createScreenCapture(Rectangle bounds) della classe java.awt.Robot). Il seguente esempio carica un'immagine GIF a sfondo trasparente e in background un "capture" dello schermo". Codice:
import javax.swing.*;
import java.awt.*;
import java.awt.Robot;
import java.awt.image.*;
public class TransparentWindow extends JWindow {
Image image=null;
Image bgImage=null;
Robot robot=null;
BufferedImage buffBg;
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
public TransparentWindow() {
ImageIcon img=new ImageIcon("c:\\image.gif");
image=img.getImage();
Dimension imgDim=new Dimension(image.getWidth(this),image.getHeight(this));
this.setSize(imgDim);
this.setLocation((int)screenSize.width/2-
this.getWidth()/2,
(int)screenSize.height/2-
this.getHeight()/2);
try {
robot=new Robot();
buffBg=robot.createScreenCapture(this.getBounds());
bgImage=buffBg;
} catch(AWTException e) {
System.out.println(e);
System.exit(1);
}
this.show();
}
public void paint(Graphics g) {
g.drawImage(bgImage,0,0,this);
g.drawImage(image,0,0,this);
}
public static void main(String[] args) {
new TransparentWindow();
}
}
Ciao. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
PGI mi stavo interessando anche io al problema di realizzare interfacce un po' + complesse e carine dal punto di vista pratico...Ricordi il "nostro" progetto di un Java Media Player di cui dovevi realizzare il motore sonoro e io l'interfaccia??
Cmq interessante la presentza neli JFrame del GlassPane, un "vetro" trasparente sul ContentPanesu cui puoi utiliìzzare i metodi paint() della classe Graphics e Graphics2D... |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
PGI??
|
|
|
|
|
|
#6 |
|
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
A rapporto!
La realizzazione del motore di un lettore audio non dovrebbe causare problemi, ma bisognerebbe dare un occhiata alla licenza di distribuzione delle classi MPEGPlayer & parenti che non sono sviluppate da Sun. Ciao. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:17.



















