Pourquoi le didacticiel Java How to Create Translucent and Shaped Windows n'a pas fonctionné? Utilisez-vous la dernière version de Java 6 ou Java 7? Dans le May/June issue of Java Magazine, il y avait un tutoriel sur les fenêtres en forme et transparentes nécessitant java 7. Vous devrez probablement vous inscrire au magazine Java pour le lire. Voyez si vous pouvez obtenir ce pour fonctionner sur votre système:
import java.awt.*; //Graphics2D, LinearGradientPaint, Point, Window, Window.Type;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
/**
* From JavaMagazine May/June 2012
* @author josh
*/
public class ShapedAboutWindowDemo {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
//switch to the right thread
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame("About box");
//turn of window decorations
frame.setUndecorated(true);
//turn off the background
frame.setBackground(new Color(0,0,0,0));
frame.setContentPane(new AboutComponent());
frame.pack();
//size the window
frame.setSize(500, 200);
frame.setVisible(true);
//center on screen
frame.setLocationRelativeTo(null);
}
}
);
}
private static class AboutComponent extends JComponent {
public void paintComponent(Graphics graphics) {
Graphics2D g = (Graphics2D) graphics;
//create a translucent gradient
Color[] colors = new Color[]{
new Color(0,0,0,0)
,new Color(0.3f,0.3f,0.3f,1f)
,new Color(0.3f,0.3f,0.3f,1f)
,new Color(0,0,0,0)};
float[] stops = new float[]{0,0.2f,0.8f,1f};
LinearGradientPaint paint = new LinearGradientPaint(
new Point(0,0), new Point(500,0),
stops,colors);
//fill a rect then paint with text
g.setPaint(paint);
g.fillRect(0, 0, 500, 200);
g.setPaint(Color.WHITE);
g.drawString("My Killer App", 200, 100);
}
}
}
Avez-vous une solution à ce problème? Je suis confronté au même problème .. J'ai fait une application comme Screencast-O-Matic qui fonctionne bien pour Windows OS mais ne fonctionne pas pour le Linux..S'il vous plaît suggérer ici si vous avez trouvé quelque chose, http://stackoverflow.com/questions/25009276/swing-works-different-on-different-platform – tarkikshah
Non, je suis revenu à PyQt pour mon application screencast, parce que j'avais d'autres problèmes avec Java. –
ok ... Merci .. – tarkikshah