Le setBackground sur mon JPanel bugue !
Bonjour,
Je suis novice en Swing et
J'ai essayé tout c'que je pense savoir pour résoudre ce problème mais la, je m'en remet à vous...
Je veux que quand je veuille tester une couleur, que tout mon JPanel soit teint de cette couleur, or, j'ai un espèce de rectangle de couleur en haut qui se teint en noir uniquement...
http://zepload.com/images/1265777276...Background.jpg
Lorsque j'appuie sur Enter, rien ne se passe...
Voici mon bout de code :
Code:
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
|
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Exa extends JFrame {
// les JSliders sont pour la suite de l'exercices
// private JSlider js = new JSlider(JSlider.VERTICAL, 0, 255, 0);
private JTextField jtfrouge;
private JTextField jtfvert;
private JTextField jtfbleu;
private JButton btAnnuler;
public Exa() {
JPanel p = new JPanel();
Contenu contenu = new Contenu();
p.add(contenu);
getContentPane().add(p);
setSize(600, 200);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
}
class Contenu extends JPanel implements ActionListener {
public Contenu() {
jtfrouge = new JTextField("0", 4);
jtfrouge.setBackground(Color.RED);
jtfrouge.setHorizontalAlignment(JTextField.CENTER);
add(jtfrouge);
jtfvert = new JTextField("0", 4);
jtfvert.setBackground(Color.green);
jtfvert.setHorizontalAlignment(JTextField.CENTER);
add(jtfvert);
jtfbleu = new JTextField("0", 4);
jtfbleu.setBackground(Color.blue);
jtfbleu.setHorizontalAlignment(JTextField.CENTER);
add(jtfbleu);
btAnnuler = new JButton("Annuler");
btAnnuler.addActionListener(this);
add(btAnnuler);
this.setBackground(new Color(0, 0, 0));
}
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(btAnnuler)) {
jtfrouge.setText("0");
jtfvert.setText("0");
jtfbleu.setText("0");
this.setBackground(new Color(0, 0, 0));
} else {
int red = Integer.parseInt(jtfrouge.getText());
int green = Integer.parseInt(jtfvert.getText());
int blue = Integer.parseInt(jtfbleu.getText());
this.setBackground(new Color(red, green, blue));
}
}
}
} |
bien entendu, j'ai ma Main à côté, mais dans une autre classe...
Je vous remercie d'avance pour vos suggestions :)
PS : Tant que j'y suis j'en profite pour vous demander quelle serait la méthode qui me permettrait d'espacer mes JTextField les uns des autres pour qu'il y aie par exemple 4-5 cm entre les 3... MERCI :)