Элементы не появляются на панели с Gridlayout или Flowlayout, но с помощью Setbounds они делаютJAVA

Программисты JAVA общаются здесь
Anonymous
Элементы не появляются на панели с Gridlayout или Flowlayout, но с помощью Setbounds они делают

Сообщение Anonymous »

Я делаю программу, которая составлена ​​несколькими панелями в jframe.
Мне нужно обрабатывать каждый элемент в разных классах (потому что в моей школе нам нужно, чтобы все элементы были разделены в разных классах для чистого кода), но каждый пример, который я вижу с моей проблемой, они делают все в одном классе. Мне нужно положить 2 панели, вот код: < /p>
public class Inscription extends JPanel{
private PanneauBoutons panneauBoutons = new PanneauBoutons();
private PanneauFormulaire panneauFormulaire = new PanneauFormulaire();

public Inscription(){
this.setLayout(new BorderLayout());
this.setBorder(BorderFactory.createLineBorder(Color.RED, 2));

this.add(panneauFormulaire,BorderLayout.CENTER);
this.add(panneauBoutons,BorderLayout.SOUTH);

this.setVisible(true);
}
}
< /code>
А вот панель Panauauformulaire: < /p>
public class PanneauFormulaire extends JPanel{
private JLabel labelMatricule;
private JTextField zoneTexteMatricule;

public PanneauFormulaire(){
this.setLayout(new GridLayout(8,2,10,10));

this.setBorder(BorderFactory.createLineBorder(Color.black));

labelMatricule = new JLabel("Matricule : ");
this.add(labelMatricule);
zoneTexteMatricule = new JTextField(30);
this.add(zoneTexteMatricule);

this.setVisible(true);
}
< /code>
Таким образом, проблема не появляется в основной кадре, если я не делаю Setbounds, но я хочу пограничный ...
(я протестировал и с установленными границами я могу видеть границы, поэтому я думаю, что это означает, что панель действительно добавлена ​​к кадре, так что без сборов я вижу что -либо?). Панель ... < /p>
Итак, если я что -то пропустите, вы можете мне помочь? Спасибо < /p>
А вот и класс, который расширяет jframe: < /p>
public class FenetrePrincipale extends JFrame {
private Container cont;
private Inscription inscriptionForm;

public FenetrePrincipale(){
super("IESN");
setBounds(100,100,1200,960);
getContentPane().setLayout(null);
setLocationRelativeTo(null);
setResizable(false);

...

inscription.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
cont.removeAll();

inscriptionForm = new Inscription();
inscriptionForm.setOpaque(true);

cont.add(inscriptionForm);

invalidate();
repaint();
}
});


Подробнее здесь: https://stackoverflow.com/questions/362 ... with-a-set

Вернуться в «JAVA»