Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.kartenspiel.gui;
- import java.awt.BorderLayout;
- import java.awt.CardLayout;
- import java.awt.Color;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.JButton;
- import javax.swing.JMenu;
- import javax.swing.JMenuBar;
- import javax.swing.JMenuItem;
- import javax.swing.JPanel;
- import javax.swing.JSlider;
- import javax.swing.event.ChangeEvent;
- import javax.swing.event.ChangeListener;
- public class Messungen extends JPanel implements ActionListener,ChangeListener {
- private JPanel anzeige = new JPanel();
- private JPanel navigation = new JPanel();
- // Buttons Navigation //Hier vielleicht statt Beschriftung ein Image?
- private JButton vor; // wird später initialisiert, nu um zu zeigen dass das geht
- private JButton zurueck;
- private JButton anfang;
- private JButton ende; // aller letzte zugefügte element des kartenstapels
- private JMenuBar reglerMenuLeiste = new JMenuBar();
- private JMenu reglerMenu = new JMenu("Regler");
- private JMenuItem[] reglerArray;
- private JMenuItem mSchlingel = new JMenuItem("mSchlingel");
- // Schieberegler in Array
- private JSlider[] regler = new JSlider[5];
- // Layout NICHT als anonymes Objekt, Layout Objekt wird für Navigation gebraucht
- private CardLayout stapelVerwaltung;
- public Messungen() {
- anzeige.setOpaque(true);
- this.setLayout(new BorderLayout(5, 5));
- bauenNavigation();
- bauenAnzeige();
- bauenReglerMenuLeiste();
- bauenReglerMenu();
- bauenGesamt();
- // bauenJSliderRGB();
- // bauenSliderListener();
- // stateChanged();
- // regler[2].addChangeListener(ce -> r.refresh());
- }
- public void stateChanged(ChangeEvent event) {
- int value = regler[2].getValue();
- if (value == 0) {
- System.out.println("0");
- } else if (value > 0 && value <= 30) {
- System.out.println("value > 0 && value <= 30");
- } else if (value > 30 && value < 80) {
- System.out.println("value > 30 && value < 80");
- } else {
- System.out.println("max");
- }
- }
- //public void stateChanged(ChangeEvent evt) {
- // regler[2].addChangeListener(ChangeListern lstn);
- //
- // }
- //private void bauenSliderListener() {
- // regler[2].addChangeListener(new ChangeListener() {
- // public void stateChanged(ChangeEvent e) implements ChangeListener {
- // int sleepSense = regler[2].getValue();
- // }
- // }
- //}
- // private void bauenJSliderRGB(ChangeEvent e) {
- // regler[2] = e.getSource();
- // if (!source.getValueIsAdjusting()) {
- // int fps = (int)source.getValue();
- // if (fps == 0) {
- // if (!frozen) stopAnimation();
- // } else {
- // delay = 1000 / fps;
- // timer.setDelay(delay);
- // timer.setInitialDelay(delay * 10);
- // if (frozen) startAnimation();
- //
- // }
- private void bauenReglerMenuLeiste() {
- reglerMenuLeiste.add(reglerMenu);
- }
- private void bauenReglerMenu() {
- System.out.println("Messungen: Zeile 41");
- reglerArray = new JMenuItem[regler.length];
- for (int i = 0; i < regler.length; i++) {
- reglerArray[i] = new JMenuItem("Regler #" + i);
- }
- for (int i = 0; i < regler.length; i++) {
- reglerMenu.add(reglerArray[i]);
- }
- for (int i = 0; i < regler.length; i++) {
- reglerArray[i].addActionListener(this);
- }
- reglerMenu.add(mSchlingel);
- mSchlingel.addActionListener(this);
- }
- private void bauenGesamt() {
- // this.add(anzeige.BorderLayout.CENTER);
- this.add(anzeige, BorderLayout.CENTER);
- this.add(navigation, BorderLayout.SOUTH);
- }
- private void bauenAnzeige() {
- stapelVerwaltung = new CardLayout();
- anzeige.setLayout(stapelVerwaltung);
- regler[0] = new JSlider(0, 30);
- regler[0].setPaintLabels(true);
- regler[0].setPaintTicks(true);
- regler[0].setMinorTickSpacing(2);
- regler[0].setMajorTickSpacing(10);
- regler[1] = new JSlider(-50, 50, 25);
- regler[1].setPaintLabels(true);
- regler[1].setPaintTicks(true);
- regler[1].setMinorTickSpacing(5);
- regler[1].setMajorTickSpacing(25);
- regler[2] = new JSlider(JSlider.VERTICAL, 0, 255, 5);
- regler[2].setPaintLabels(true);
- regler[2].setPaintTicks(true);
- regler[2].setMinorTickSpacing(5);
- regler[2].setMajorTickSpacing(25);
- regler[3] = new JSlider(0, 100, 20);
- regler[3].setPaintLabels(false);
- regler[3].setPaintTicks(false);
- regler[4] = new JSlider(JSlider.VERTICAL, 0, 5, 5);
- regler[4].setPaintLabels(false);
- regler[4].setPaintTicks(false);
- String kartenNummer;
- for (int i = 0; i < regler.length; i++) {
- kartenNummer = ("Karte " + i);
- anzeige.add(regler[i], kartenNummer);// Hinweis: es gibt verschiede add-Methoden!!!
- }
- }
- private void bauenNavigation() {
- // Button hier erzeugen: new
- vor = new JButton(">");
- zurueck = new JButton("<");
- anfang = new JButton("<<");
- ende = new JButton(">>");
- navigation.add(anfang);
- navigation.add(zurueck);
- navigation.add(reglerMenuLeiste);
- navigation.add(vor);
- navigation.add(ende);
- // Actionlistener muss hier noch zugefügt werden
- vor.addActionListener(this); // Das Objekt selber ist zuständig
- zurueck.addActionListener(this);
- anfang.addActionListener(this);
- ende.addActionListener(this);
- }
- // public void stateChanged(ChangeEvent e) {
- // if(e.getSource() == regler[2]) {
- // if(!regler[2].getValueIsAdjusting()) {
- // int fps = (int)regler[2].getValue();
- // anzeige.setBackground(new Color(0,fps,0));
- // System.out.println("fps= "+fps);
- // }
- // }
- // }
- @Override
- public void actionPerformed(ActionEvent ae) {
- if (ae.getSource() == anfang) { // wenn ich auf den Button klicke ist das action event "ae" ausgelöst wurden
- // durch den anfangs button
- stapelVerwaltung.first(anzeige); // durch first wird wieder die Erste Karte angezeigt
- }
- if (ae.getSource() == ende) {
- stapelVerwaltung.last(anzeige);
- }
- if (ae.getSource() == vor) {
- stapelVerwaltung.next(anzeige);
- }
- if (ae.getSource() == zurueck) {
- stapelVerwaltung.previous(anzeige); // Anzeige ist "Container" wo die alle drin sind
- }
- if (ae.getSource() == mSchlingel) {
- stapelVerwaltung.show(anzeige, "Karte 4"); // Anzeige ist "Container" wo die alle drin sind
- }
- String kartenNummer;
- for (int i = 0; i < regler.length; i++) {
- kartenNummer = "Karte " + i;
- if (ae.getSource() == reglerArray[i]) {
- stapelVerwaltung.show(anzeige, kartenNummer); // Anzeige ist "Container" wo die alle drin sind
- }
- }
- }
- }
- /*
- * TEIL1 (mit JAVA DOC8): Aufgabe an die Stelle X (zw. vor zurück) soll eine
- * Componente gestellt werdenm dieAuswahl eines bestimmten Sliders ermöglicht
- * und diese solldirket angezeigt werden es gibt weitere "add" Methode die man
- * aufrufen muss um direkt an eine bestimmte Stelle im Stapel zu springen
- *
- * Ermöglichen an eine BESTIMMTE Stelle im Stapel zu springen
- *
- *
- *
- */
- /*
- * Aufgabe 2: Regler[2] soll bei 0 anfangen und bei 255 aufhören regler[2] = new
- * JSlider(JSlider.VERTICAL, 0, 255, 5);
- *
- * HINTERGRUNDFARBE DES REGLERS ÄNDERT SICH, WENN MAN DEN REGLER BEWEGT
- *
- * optional: Bereich mit 3 Reglern 0-255 RGB und damit RGB Farben erzeugen
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement