Advertisement
Guest User

julien

a guest
Apr 1st, 2015
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.54 KB | None | 0 0
  1. import java.awt.BorderLayout;
  2. import java.awt.Component;
  3. import java.awt.Dimension;
  4. import java.awt.FlowLayout;
  5. import java.awt.GridLayout;
  6. import java.awt.event.ActionEvent;
  7. import java.awt.event.ActionListener;
  8. import java.text.NumberFormat;
  9. import java.util.Locale;
  10. import java.util.Vector;
  11.  
  12. import javax.swing.Box;
  13. import javax.swing.BoxLayout;
  14. import javax.swing.ButtonGroup;
  15. import javax.swing.DefaultListModel;
  16. import javax.swing.JButton;
  17. import javax.swing.JFrame;
  18. import javax.swing.JLabel;
  19. import javax.swing.JList;
  20. import javax.swing.JPanel;
  21. import javax.swing.JRadioButton;
  22. import javax.swing.JScrollPane;
  23. import javax.swing.JTabbedPane;
  24. import javax.swing.JTextField;
  25. import javax.swing.ListSelectionModel;
  26. import javax.swing.event.ChangeEvent;
  27. import javax.swing.event.ChangeListener;
  28.  
  29.  
  30. public class Panel extends JFrame {
  31.  
  32.     //declaration boutons et divers listeners
  33.     //Celcius
  34.     private JButton CFBouton = new JButton("C>F");
  35.     private JButton FCBouton = new JButton("F>C");
  36.     private JTextField champ = new JTextField(15);
  37.     private JTextField champ2 = new JTextField(11);
  38.     //PostIt
  39.     private JLabel tontexte = new JLabel("Votre Texte");
  40.     private JButton ajouter = new JButton("Ajouter");
  41.     private JButton purger = new JButton("Purger");
  42.     private JTextField Tfield = new JTextField();
  43.     private static Vector<String> vecteur = new Vector<String>();
  44.     private JList<String> postListe = new JList<String>(vecteur);
  45.     private JTabbedPane tabPrincipal;
  46.     private JButton supprimer = new JButton("Supprimer");
  47.    
  48.  
  49.     public Panel(){
  50.         this.setSize(400,300);
  51.         this.setLocationRelativeTo(null);
  52.         this.setDefaultCloseOperation(EXIT_ON_CLOSE);
  53.         this.setTitle("Kawaii Title <3");
  54.         initControles();
  55.  
  56.     }
  57.  
  58.     private void initControles(){
  59.  
  60.         JPanel zoneClient = (JPanel) this.getContentPane();
  61.         zoneClient.setLayout(new BorderLayout());
  62.  
  63.         //panneaux
  64.  
  65.         JPanel panSelection = new JPanel(new BorderLayout());
  66.         JPanel panIdentite = new JPanel();
  67.         JPanel panCalculette = new JPanel();
  68.         JPanel panComplement = new JPanel();
  69.         JScrollPane panPostIt = new JScrollPane();
  70.         tabPrincipal = new JTabbedPane();
  71.         tabPrincipal.addTab("Sélection", panSelection);
  72.         tabPrincipal.addTab("Identité", panIdentite);
  73.         tabPrincipal.addTab("Calculette", panCalculette);
  74.         tabPrincipal.addTab("Convertion", panComplement);
  75.         tabPrincipal.addTab("Post-it", panPostIt);
  76.  
  77.         tabPrincipal.addChangeListener(new appChangeListener());
  78.  
  79.         zoneClient.add(tabPrincipal);
  80.  
  81.         //Selection
  82.  
  83.         JPanel tabSelUp = new JPanel(new FlowLayout(FlowLayout.LEFT));
  84.         tabSelUp.add(new JLabel("Choisir un individu:"));
  85.  
  86.         DefaultListModel<String> listData = new DefaultListModel<String>();
  87.         JList<String> maListe = new JList<String>(listData);
  88.         String[] liste = {"Machin", "Truc" ,"Bidule", "Chose", "Stuff", "Thing", "Thingy" };
  89.         maListe.setListData(liste);
  90.         maListe.setSelectedIndex(1);
  91.         maListe.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  92.         JScrollPane tabSelMid = new JScrollPane(maListe);
  93.         JPanel tabSelDown = new JPanel(new FlowLayout( FlowLayout.RIGHT));
  94.         tabSelDown.add(new JButton("Ok"));
  95.  
  96.         //panSelection
  97.         panSelection.add(tabSelUp, BorderLayout.NORTH);
  98.         panSelection.add(tabSelMid, BorderLayout.CENTER);
  99.         panSelection.add(tabSelDown, BorderLayout.SOUTH);
  100.  
  101.         //Identite
  102.  
  103.  
  104.         panIdentite.setLayout(new BoxLayout(panIdentite, BoxLayout.Y_AXIS));
  105.  
  106.  
  107.         JPanel panIDup = new JPanel();
  108.         panIDup.setLayout(new BoxLayout(panIDup,  BoxLayout.X_AXIS));
  109.         panIDup.add(new JLabel("Nom  "));
  110.         JTextField upTextField = new JTextField();
  111.         upTextField.setMaximumSize(new Dimension(200,20));
  112.         panIDup.add(upTextField);
  113.         panIDup.setAlignmentX(Component.LEFT_ALIGNMENT);
  114.  
  115.  
  116.         JPanel panIDmid = new JPanel();
  117.         panIDmid.setLayout(new BoxLayout(panIDmid,  BoxLayout.X_AXIS));
  118.         panIDmid.add(new JLabel("Prénom  "));
  119.         JTextField midTextField = new JTextField();
  120.         panIDmid.add(midTextField);
  121.         midTextField.setMaximumSize(new Dimension(200,20));
  122.         panIDmid.add(midTextField);
  123.         panIDmid.setAlignmentX(Component.LEFT_ALIGNMENT);
  124.  
  125.         JPanel panIDdown = new JPanel();
  126.         panIDdown.setLayout(new BoxLayout(panIDdown,  BoxLayout.X_AXIS));
  127.         panIDdown.add(new JLabel("Sexe  "));
  128.         JRadioButton male =new  JRadioButton("Homme  ");
  129.         JRadioButton female = new JRadioButton("femme  ");
  130.         panIDdown.setAlignmentX(Component.LEFT_ALIGNMENT);
  131.  
  132.  
  133.         ButtonGroup grpOption = new ButtonGroup();
  134.         grpOption.add(male);
  135.         grpOption.add(female);
  136.         panIDdown.add(male);
  137.         panIDdown.add(female);
  138.  
  139.         JPanel panIDlower = new JPanel();
  140.         panIDlower.setLayout(new BoxLayout(panIDlower,  BoxLayout.X_AXIS));
  141.         panIDlower.add(new JLabel("Age  "));
  142.         JTextField lowerTextField = new JTextField();
  143.         lowerTextField.setMaximumSize(new Dimension(200,20));
  144.         panIDlower.add(lowerTextField);
  145.         panIDlower.setAlignmentX(Component.LEFT_ALIGNMENT);
  146.  
  147.  
  148.  
  149.         panIdentite.add(panIDup);
  150.         panIdentite.add(Box.createRigidArea(new Dimension(0, 5)));
  151.         panIdentite.add(panIDmid);
  152.         panIdentite.add(panIDdown);
  153.         panIdentite.add(panIDlower);
  154.  
  155.  
  156.         //calculette
  157.  
  158.         panCalculette.setLayout(new GridLayout(3,5,5,5));
  159.         panCalculette.add(new JButton("1"));
  160.         panCalculette.add(new JButton("2"));
  161.         panCalculette.add(new JButton("3"));
  162.         panCalculette.add(new JButton("4"));
  163.         panCalculette.add(new JButton("5"));
  164.         panCalculette.add(new JButton("6"));
  165.         panCalculette.add(new JButton("7"));
  166.         panCalculette.add(new JButton("8"));
  167.         panCalculette.add(new JButton("9"));
  168.         panCalculette.add(new JButton("="));
  169.         panCalculette.add(new JButton("+"));
  170.         panCalculette.add(new JButton("-"));
  171.         panCalculette.add(new JButton("/"));
  172.         panCalculette.add(new JButton("."));
  173.         panCalculette.add(new JButton("0"));
  174.  
  175.         //Convertisseur
  176.  
  177.         panComplement.setLayout(new BoxLayout(panComplement, BoxLayout.PAGE_AXIS));
  178.  
  179.         JPanel panneau1 = new JPanel();
  180.         panneau1.setLayout(new BoxLayout(panneau1,BoxLayout.X_AXIS));
  181.  
  182.  
  183.         //champ.setMinimumSize(new Dimension(200, 20));
  184.         champ.setMaximumSize(new Dimension(200, 20));
  185.  
  186.         panneau1.add(new JLabel("Celsius: "));
  187.         panneau1.add(champ);
  188.  
  189.  
  190.  
  191.  
  192.  
  193.         //panneau1.setBorder(BorderFactory.createTitledBorder(""));
  194.  
  195.         //panComplement.add(Box.createRigidArea(new Dimension(0, 20)));
  196.  
  197.         JPanel panneau2 = new JPanel();
  198.         panneau1.setLayout(new BoxLayout(panneau1,BoxLayout.X_AXIS));
  199.         //panneau2.setBorder(BorderFactory.createTitledBorder(""));
  200.  
  201.         JPanel panneau15 = new JPanel();
  202.         panneau15.setLayout(new BoxLayout(panneau15,BoxLayout.X_AXIS));
  203.         //panneau15.setBorder(BorderFactory.createTitledBorder(""));
  204.         panneau15.add(new JLabel("Farenheit: "));
  205.         //champ.setMinimumSize(new Dimension(200, 20));
  206.         champ2.setMaximumSize(new Dimension(189, 20));
  207.         panneau15.add(champ2);
  208.  
  209.         panComplement.add(panneau1);
  210.         panneau2.add(CFBouton);
  211.         panneau2.add(FCBouton);
  212.         panComplement.add(panneau15);
  213.         panComplement.add(panneau2);
  214.  
  215.         //post-it------------------------------------------------------------------------------
  216.  
  217.         panPostIt.setLayout(null);
  218.  
  219.         tontexte.setBounds(10, 10, 150, 20);
  220.         panPostIt.add(tontexte);
  221.  
  222.         ajouter.setBounds(350, 30, 120, 20);
  223.  
  224.         purger.setBounds(350,100,120,20);
  225.  
  226.  
  227.         supprimer.setBounds(350, 200, 120, 20);
  228.         panPostIt.add(ajouter);
  229.         panPostIt.add(purger);
  230.         panPostIt.add(supprimer);
  231.         Tfield.setBounds(10, 30, 300, 20);
  232.         panPostIt.add(Tfield);
  233.         postListe.setBounds(10, 80, 300, 300);
  234.         postListe.setListData(vecteur);
  235.        
  236.         panPostIt.add(postListe);
  237.         panPostIt.setViewportView(postListe);
  238.        
  239.  
  240.         //listeners
  241.  
  242.         CFBouton.addActionListener(new AppActionListener());
  243.         FCBouton.addActionListener(new AppActionListener());
  244.         ajouter.addActionListener(new AppActionListener());
  245.  
  246.     }
  247.  
  248.  
  249.     //Class
  250.  
  251.     class appChangeListener implements ChangeListener{
  252.  
  253.         public void stateChanged(ChangeEvent e) {
  254.             if (tabPrincipal.getSelectedIndex() == 0)resize0();
  255.             if (tabPrincipal.getSelectedIndex() == 1)resize1();
  256.             if (tabPrincipal.getSelectedIndex() == 2)resize2();
  257.             if (tabPrincipal.getSelectedIndex() == 3)resize3();
  258.             if (tabPrincipal.getSelectedIndex() == 4)resize4();
  259.         }
  260.  
  261.     }
  262.  
  263.     class AppActionListener implements ActionListener{
  264.  
  265.         @Override
  266.         public void actionPerformed(ActionEvent e) {
  267.  
  268.             if (e.getSource() == CFBouton) CelFar();
  269.             if (e.getSource() == FCBouton) FarCel();
  270.             if (e.getSource() == ajouter) ajouter();
  271.  
  272.         }
  273.  
  274.     }
  275.    
  276.     private void ajouter(){
  277.         vecteur.addElement(Tfield.getText());
  278.         System.out.println("ajout!");
  279.         System.out.println(vecteur);
  280.     }
  281.  
  282.     private void resize0(){
  283.         this.setSize(400, 300);
  284.     }
  285.  
  286.     private void resize1(){
  287.         this.setSize(400, 160);
  288.     }
  289.  
  290.     private void resize2(){
  291.         this.setSize(400, 300);
  292.     }
  293.  
  294.     private void resize3(){
  295.         this.setSize(400,150);
  296.     }
  297.  
  298.     private void resize4(){
  299.         this.setSize(500, 480);
  300.     }
  301.  
  302.     private void CelFar(){
  303.         String texte;
  304.         Double number;
  305.         Double result;
  306.  
  307.  
  308.         //formule Cours
  309.         NumberFormat nf = NumberFormat.getInstance(Locale.US);
  310.         nf.setMaximumFractionDigits(2);
  311.         nf.setMinimumFractionDigits(2);
  312.  
  313.         number = Double.parseDouble(champ.getText());
  314.         result = (number *9/5+32);
  315.         texte = nf.format(result);
  316.  
  317.         champ2.setText(texte);
  318.  
  319.     }
  320.  
  321.     private void FarCel(){
  322.         String texte;
  323.         Double number;
  324.         Double result;
  325.  
  326.  
  327.         //formule Cours
  328.         NumberFormat nf = NumberFormat.getInstance(Locale.US);
  329.         nf.setMaximumFractionDigits(2);
  330.         nf.setMinimumFractionDigits(2);
  331.  
  332.         number = Double.parseDouble(champ2.getText());
  333.         result = (number - 32)*5/9;
  334.         texte = nf.format(result);
  335.  
  336.         champ.setText(texte);
  337.  
  338.     }
  339.  
  340.     //main
  341.  
  342.     public static void main (String[] args){
  343.         Panel test = new Panel();
  344.         test.setVisible(true);
  345.  
  346.     }
  347.  
  348. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement