Salut,

Je suis en train de créer un programme constitué de deux classes : une classe TNote, et une classe TMain. Ce programme m'affiche une fenêtre où j'ai mis une image de fond avec des bords arrondis transparents intégrés dans mon image de fond. Seul problème : Il semblerait que mon JPanel aie déjà un fond coloré (gris très très clair), puisque ma fenêtre reste carrée quoi qu'il arrive. Cela fait des heures que je cherche une solution à mon problème, en vain.

Est ce que quelqu'un aurait une idée qui pourrait m'aider ?
Merci d'avance

P.S. : Voici mes deux classes de code, si ça peut aider :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
 
public class TNote extends JPanel {
 
	public TNote() {	
		this.setLayout(null);
		this.setOpaque(false);
 
		JLabel background = new JLabel(new ImageIcon("background2.png"));
		background.setBounds(0, 0, 252, 252);
		this.add(background);
 
		JButton add = new JButton();
		add.setBounds(20, 10, 28, 28);
		background.add(add);
		add.setIcon(new ImageIcon("addB.png"));
		add.setBorderPainted(false);
		add.setContentAreaFilled(false);
 
		JButton newColors = new JButton();
		newColors.setBounds(156, 10, 28, 28);
		background.add(newColors);
		newColors.setIcon(new ImageIcon("newColors.png"));
		newColors.setBorderPainted(false);
		newColors.setContentAreaFilled(false);
 
		JButton delete = new JButton();
		delete.setBounds(204, 10, 28, 28);
		background.add(delete);
		delete.setIcon(new ImageIcon("delete.png"));
		delete.setBorderPainted(false);
		delete.setContentAreaFilled(false);
 
 
		////
		//this.setBackground(new Color(0,0,0,65));
		////
 
		JTextArea text = new JTextArea("A vos claviers...");
		text.getFont().deriveFont(Font.ITALIC);
		text.setForeground(Color.gray);
		text.addMouseListener(new MouseListener() {           
			@Override
			public void mouseReleased(MouseEvent e) {}         
			@Override
			public void mousePressed(MouseEvent e) {}          
			@Override
			public void mouseExited(MouseEvent e) {}           
			@Override
			public void mouseEntered(MouseEvent e) {}          
			@Override
			public void mouseClicked(MouseEvent e) {
				JTextArea texteArea = ((JTextArea)e.getSource());
				texteArea.setText("");
				//texteArea.getFont().deriveFont(Font.PLAIN);
				//texteArea.setForeground(Color.black);
				texteArea.removeMouseListener(this);
			}
		});
 
		/////////// ??????
		text.setOpaque(false);
		///////////
 
		this.add(text);
		text.setBounds(0, 50, 250, 200);
	}
}

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
public class TMain extends JFrame {
 
    public TMain(){
		setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
 
		getContentPane().add(new TNote(), BorderLayout.CENTER);
		this.setLocationRelativeTo(null);
		this.setSize(new Dimension(252, 252));
 
		this.setUndecorated(true);
 
    }
 
    public static void main (String[] args){
		java.awt.EventQueue.invokeLater(new Runnable() {
			public void run() {
				new TMain().setVisible(true);
			}
		});
 
    }
}