Я делаю программу, которая составлена несколькими панелями в 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