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 100 101
|
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class PliDepli extends JFrame {
public static void main(String[] args) {
PliDepli test=new PliDepli();
test.setVisible(true);
}
public PliDepli() {
super("test Pli/Depli");
this.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
this.setPreferredSize(new Dimension(200, 400));
getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
String[] options={"option 1","option 2","option 3"};
Pano pano1=new Pano("Titre 1",options);
Pano pano2=new Pano("Titre 2",options);
Pano pano3=new Pano("Titre 3",options);
getContentPane().add(pano1);
getContentPane().add(pano2);
getContentPane().add(pano3);
JPanel tampon=new JPanel();
tampon.setPreferredSize(new Dimension(20, 2000));
getContentPane().add(tampon);
pack();
}
private class Pano extends JPanel {
JPanel jPanelTout;
JPanel jPanelTitre;
JPanel jPanelOptions;
public Pano(String titre,String[] options) {
super();
jPanelTout=new JPanel();
jPanelTitre=new JPanel();
jPanelOptions=new JPanel();
jPanelTout.setLayout(new BoxLayout(jPanelTout, BoxLayout.Y_AXIS));
jPanelTitre.setLayout(new BorderLayout());
jPanelOptions.setLayout(new BoxLayout(jPanelOptions, BoxLayout.Y_AXIS));
// Panneau Titre
jPanelTitre.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
jPanelTitre.setMaximumSize(new java.awt.Dimension(2000, 50));
JLabel jLabelTitre=new JLabel();
jLabelTitre.setText(titre);
jPanelTitre.add(jLabelTitre, BorderLayout.CENTER);
JButton bouton=new JButton();
bouton.setText("Pli/Depli");
bouton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
boutonActionPerformed(evt);
}
});
jPanelTitre.add(bouton,BorderLayout.EAST);
jPanelTout.add(jPanelTitre);
// Panneau Options
jPanelOptions.setLayout(new BorderLayout());
jPanelOptions.setBorder(javax.swing.BorderFactory.createCompoundBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)), null));
JPanel optionPanel=new JPanel();
optionPanel.setLayout(new BoxLayout(optionPanel, BoxLayout.Y_AXIS));
optionPanel.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 20, 1, 1));
JLabel[] optionsLabel=new JLabel[options.length];
for (int i=0;i<options.length;i++) {
optionsLabel[i]=new JLabel();
optionsLabel[i].setText("Option "+titre+"_"+(i+1));
optionPanel.add(optionsLabel[i]);
}
jPanelOptions.add(optionPanel, BorderLayout.CENTER);
jPanelTout.add(jPanelOptions);
this.add(jPanelTout);
}
private void boutonActionPerformed(ActionEvent evt) {
this.jPanelOptions.setVisible(!this.jPanelOptions.isVisible());
}
}
} |