SHARE
TWEET

Untitled

a guest Apr 25th, 2019 79 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package de.kartenspiel.gui;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.CardLayout;
  5. import java.awt.Color;
  6. import java.awt.event.ActionEvent;
  7. import java.awt.event.ActionListener;
  8.  
  9. import javax.swing.JButton;
  10. import javax.swing.JMenu;
  11. import javax.swing.JMenuBar;
  12. import javax.swing.JMenuItem;
  13. import javax.swing.JPanel;
  14. import javax.swing.JSlider;
  15. import javax.swing.event.ChangeEvent;
  16. import javax.swing.event.ChangeListener;
  17.  
  18. public class Messungen extends JPanel implements ActionListener,ChangeListener {
  19.     private JPanel anzeige = new JPanel();
  20.     private JPanel navigation = new JPanel();
  21.  
  22.     // Buttons Navigation //Hier vielleicht statt Beschriftung ein Image?
  23.     private JButton vor; // wird später initialisiert, nu um zu zeigen dass das geht
  24.     private JButton zurueck;
  25.     private JButton anfang;
  26.     private JButton ende; // aller letzte zugefügte element des kartenstapels
  27.     private JMenuBar reglerMenuLeiste = new JMenuBar();
  28.     private JMenu reglerMenu = new JMenu("Regler");
  29.     private JMenuItem[] reglerArray;
  30.     private JMenuItem mSchlingel = new JMenuItem("mSchlingel");
  31.  
  32.     // Schieberegler in Array
  33.     private JSlider[] regler = new JSlider[5];
  34.  
  35.     // Layout NICHT als anonymes Objekt, Layout Objekt wird für Navigation gebraucht
  36.     private CardLayout stapelVerwaltung;
  37.  
  38.     public Messungen() {
  39.         anzeige.setOpaque(true);
  40.         this.setLayout(new BorderLayout(5, 5));
  41.         bauenNavigation();
  42.         bauenAnzeige();
  43.         bauenReglerMenuLeiste();
  44.         bauenReglerMenu();
  45.         bauenGesamt();
  46. //      bauenJSliderRGB();
  47. //      bauenSliderListener();
  48. //      stateChanged();
  49. //      regler[2].addChangeListener(ce -> r.refresh());
  50.     }
  51.  
  52.    
  53.     public void stateChanged(ChangeEvent event) {
  54.         int value = regler[2].getValue();
  55.         if (value == 0) {
  56.           System.out.println("0");
  57.         } else if (value > 0 && value <= 30) {
  58.           System.out.println("value > 0 && value <= 30");
  59.         } else if (value > 30 && value < 80) {
  60.           System.out.println("value > 30 && value < 80");
  61.         } else {
  62.           System.out.println("max");
  63.         }
  64.       }
  65.    
  66.    
  67.    
  68. //public void stateChanged(ChangeEvent evt) {
  69. //      regler[2].addChangeListener(ChangeListern lstn);
  70. //     
  71. //  }
  72.  
  73. //private void bauenSliderListener() {
  74. //  regler[2].addChangeListener(new ChangeListener() {
  75. //        public void stateChanged(ChangeEvent e) implements ChangeListener {
  76. //            int sleepSense = regler[2].getValue();
  77. //        }
  78. //  }
  79. //}
  80.  
  81. //  private void bauenJSliderRGB(ChangeEvent e) {
  82. //      regler[2] = e.getSource();
  83. //      if (!source.getValueIsAdjusting()) {
  84. //          int fps = (int)source.getValue();
  85. //          if (fps == 0) {
  86. //              if (!frozen) stopAnimation();
  87. //          } else {
  88. //              delay = 1000 / fps;
  89. //              timer.setDelay(delay);
  90. //              timer.setInitialDelay(delay * 10);
  91. //              if (frozen) startAnimation();
  92. //     
  93. //  }
  94.  
  95.     private void bauenReglerMenuLeiste() {
  96.         reglerMenuLeiste.add(reglerMenu);
  97.  
  98.     }
  99.  
  100.     private void bauenReglerMenu() {
  101.         System.out.println("Messungen: Zeile 41");
  102.         reglerArray = new JMenuItem[regler.length];
  103.         for (int i = 0; i < regler.length; i++) {
  104.             reglerArray[i] = new JMenuItem("Regler #" + i);
  105.         }
  106.  
  107.         for (int i = 0; i < regler.length; i++) {
  108.             reglerMenu.add(reglerArray[i]);
  109.         }
  110.  
  111.         for (int i = 0; i < regler.length; i++) {
  112.             reglerArray[i].addActionListener(this);
  113.         }
  114.  
  115.         reglerMenu.add(mSchlingel);
  116.         mSchlingel.addActionListener(this);
  117.  
  118.     }
  119.  
  120.     private void bauenGesamt() {
  121. //      this.add(anzeige.BorderLayout.CENTER);
  122.         this.add(anzeige, BorderLayout.CENTER);
  123.         this.add(navigation, BorderLayout.SOUTH);
  124.  
  125.     }
  126.  
  127.     private void bauenAnzeige() {
  128.         stapelVerwaltung = new CardLayout();
  129.         anzeige.setLayout(stapelVerwaltung);
  130.  
  131.         regler[0] = new JSlider(0, 30);
  132.         regler[0].setPaintLabels(true);
  133.         regler[0].setPaintTicks(true);
  134.         regler[0].setMinorTickSpacing(2);
  135.         regler[0].setMajorTickSpacing(10);
  136.  
  137.         regler[1] = new JSlider(-50, 50, 25);
  138.         regler[1].setPaintLabels(true);
  139.         regler[1].setPaintTicks(true);
  140.         regler[1].setMinorTickSpacing(5);
  141.         regler[1].setMajorTickSpacing(25);
  142.  
  143.         regler[2] = new JSlider(JSlider.VERTICAL, 0, 255, 5);
  144.         regler[2].setPaintLabels(true);
  145.         regler[2].setPaintTicks(true);
  146.         regler[2].setMinorTickSpacing(5);
  147.         regler[2].setMajorTickSpacing(25);
  148.  
  149.         regler[3] = new JSlider(0, 100, 20);
  150.         regler[3].setPaintLabels(false);
  151.         regler[3].setPaintTicks(false);
  152.  
  153.         regler[4] = new JSlider(JSlider.VERTICAL, 0, 5, 5);
  154.         regler[4].setPaintLabels(false);
  155.         regler[4].setPaintTicks(false);
  156.  
  157.         String kartenNummer;
  158.         for (int i = 0; i < regler.length; i++) {
  159.             kartenNummer = ("Karte " + i);
  160.             anzeige.add(regler[i], kartenNummer);// Hinweis: es gibt verschiede add-Methoden!!!
  161.         }
  162.  
  163.     }
  164.  
  165.     private void bauenNavigation() {
  166.         // Button hier erzeugen: new
  167.         vor = new JButton(">");
  168.         zurueck = new JButton("<");
  169.         anfang = new JButton("<<");
  170.         ende = new JButton(">>");
  171.         navigation.add(anfang);
  172.         navigation.add(zurueck);
  173.         navigation.add(reglerMenuLeiste);
  174.         navigation.add(vor);
  175.         navigation.add(ende);
  176.         // Actionlistener muss hier noch zugefügt werden
  177.         vor.addActionListener(this); // Das Objekt selber ist zuständig
  178.         zurueck.addActionListener(this);
  179.         anfang.addActionListener(this);
  180.         ende.addActionListener(this);
  181.  
  182.     }
  183.  
  184. //  public void stateChanged(ChangeEvent e)  {
  185. //      if(e.getSource() == regler[2]) {
  186. //          if(!regler[2].getValueIsAdjusting()) {
  187. //              int fps = (int)regler[2].getValue();
  188. //              anzeige.setBackground(new Color(0,fps,0));
  189. //              System.out.println("fps= "+fps);
  190. //          }
  191. //      }
  192. //  }
  193.  
  194.     @Override
  195.     public void actionPerformed(ActionEvent ae) {
  196.         if (ae.getSource() == anfang) { // wenn ich auf den Button klicke ist das action event "ae" ausgelöst wurden
  197.                                         // durch den anfangs button
  198.             stapelVerwaltung.first(anzeige); // durch first wird wieder die Erste Karte angezeigt
  199.  
  200.         }
  201.         if (ae.getSource() == ende) {
  202.             stapelVerwaltung.last(anzeige);
  203.  
  204.         }
  205.         if (ae.getSource() == vor) {
  206.             stapelVerwaltung.next(anzeige);
  207.         }
  208.         if (ae.getSource() == zurueck) {
  209.             stapelVerwaltung.previous(anzeige); // Anzeige ist "Container" wo die alle drin sind
  210.         }
  211.         if (ae.getSource() == mSchlingel) {
  212.             stapelVerwaltung.show(anzeige, "Karte 4"); // Anzeige ist "Container" wo die alle drin sind
  213.         }
  214.  
  215.         String kartenNummer;
  216.         for (int i = 0; i < regler.length; i++) {
  217.             kartenNummer = "Karte " + i;
  218.             if (ae.getSource() == reglerArray[i]) {
  219.                 stapelVerwaltung.show(anzeige, kartenNummer); // Anzeige ist "Container" wo die alle drin sind
  220.             }
  221.         }
  222.  
  223.     }
  224.  
  225. }
  226.  
  227. /*
  228.  * TEIL1 (mit JAVA DOC8): Aufgabe an die Stelle X (zw. vor zurück) soll eine
  229.  * Componente gestellt werdenm dieAuswahl eines bestimmten Sliders ermöglicht
  230.  * und diese solldirket angezeigt werden es gibt weitere "add" Methode die man
  231.  * aufrufen muss um direkt an eine bestimmte Stelle im Stapel zu springen
  232.  *
  233.  * Ermöglichen an eine BESTIMMTE Stelle im Stapel zu springen
  234.  *
  235.  *
  236.  *
  237.  */
  238.  
  239. /*
  240.  * Aufgabe 2: Regler[2] soll bei 0 anfangen und bei 255 aufhören regler[2] = new
  241.  * JSlider(JSlider.VERTICAL, 0, 255, 5);
  242.  *
  243.  * HINTERGRUNDFARBE DES REGLERS ÄNDERT SICH, WENN MAN DEN REGLER BEWEGT
  244.  *
  245.  * optional: Bereich mit 3 Reglern 0-255 RGB und damit RGB Farben erzeugen
  246.  */
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top