Positions de champs de textes
Bonjour,
J'aimerais déplacer un champs de texte dans ma fenêtre, j'ai d'abord essayé avec setBounds() mais sa ne marchais pas... J'ai ensuite essayé avec un GridBagConstraints sa marche mais je ne peux pas déplacer les champs ou je veux (ou bout d'un moment ils disparaissent) Comment faire ?
Mes classes :
Fenetre.Java :
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
| package fr.jupiter.graphique;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.text.NumberFormat;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Fenetre extends JFrame {
private static final long serialVersionUID = 1L ;
private JPanel container = new JPanel();
public Fenetre(){
this.setTitle("ConversionBDH") ;
this.setSize(720, 480) ;
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;
JFrame.setDefaultLookAndFeelDecorated(true) ;
this.setLocationRelativeTo(null) ;
container.setBackground(Color.white) ;
container.setLayout(new BorderLayout()) ;
container.add(new Components()) ;
this.setContentPane(container) ;
this.setVisible(true) ;
}
} |
Components.java :
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 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
| package fr.jupiter.graphique;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JPanel;
import javax.swing.JTextField;
public final class Components extends JPanel implements KeyListener {
private static final long serialVersionUID = 1L ;
//Decimal
private JTextField decJTF ;
//Binaire
private JTextField binJTF ;
//Hexa
private JTextField hexaJTF ;
private void createAndShowJTF(JTextField jtf, int top, int left, int bottom, int right) {
GridBagConstraints c = new GridBagConstraints();
c.gridwidth = GridBagConstraints.REMAINDER ;
c.insets = new Insets(top, left, bottom, right) ;
c.fill = GridBagConstraints.HORIZONTAL ;
jtf.setPreferredSize(new Dimension(250, 30)) ;
jtf.addKeyListener(this) ;
add(jtf, c) ;
}
public Components() {
super(new GridBagLayout());
decJTF = new JTextField() ;
binJTF = new JTextField() ;
hexaJTF = new JTextField() ;
createAndShowJTF(decJTF, 100, 10, 10, 10) ;
createAndShowJTF(binJTF, 50, 10, 10, 10) ;
createAndShowJTF(hexaJTF, 10, 10, 10, 10) ;
}
@Override
public void keyReleased(KeyEvent e) {
JTextField source = (JTextField) e.getSource() ;
if (source.toString().equals(decJTF.toString())) {
System.out.println("1") ;
System.out.println("Texte : " + source.getText()) ;
} else if (source.toString().equals(binJTF.toString())) {
System.out.println("2") ;
System.out.println("Texte : " + source.getText()) ;
} else if (source.toString().equals(hexaJTF.toString())) {
System.out.println("3") ;
System.out.println("Texte : " + source.getText()) ;
}
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
} |
Cordialement et merci d'avance !