diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..19331e2 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding//src/de/jaujau/gui/Dashboard_GUI.java=UTF-8 diff --git a/src/de/jaujau/gui/Dashboard_GUI.java b/src/de/jaujau/gui/Dashboard_GUI.java index feed4d5..45b1719 100644 --- a/src/de/jaujau/gui/Dashboard_GUI.java +++ b/src/de/jaujau/gui/Dashboard_GUI.java @@ -1,4 +1,7 @@ package de.jaujau.gui; +import static de.jaujau.daten.Spieler.COMPUTER; +import static de.jaujau.daten.Spieler.SPIELER; + import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.Color; @@ -6,7 +9,6 @@ import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; - import de.jaujau.daten.Farbe; import de.jaujau.daten.Spieler; import de.jaujau.daten.Spielerverwaltung; @@ -25,7 +27,6 @@ import java.awt.ComponentOrientation; import java.awt.Cursor; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; -import javax.swing.UIManager; import java.awt.Font; import javax.swing.JButton; @@ -45,7 +46,7 @@ public class Dashboard_GUI extends JPanel{ private final JPanel spielfeld = new JPanel(); private final JPanel player_hand = new JPanel(); private final JPanel gegner_hand = new JPanel(); - private final JLabel ziehstapel = new JLabel(""); + JLabel ziehstapel = new JLabel(""); JPanel spielerkarten = new JPanel(); JLabel labelsspieler[] = new JLabel[32]; JLabel labelsgegner[] = new JLabel[32]; @@ -69,10 +70,14 @@ public class Dashboard_GUI extends JPanel{ private final JScrollPane gegnerkartenpane = new JScrollPane(); private final JPanel gegnerkarten = new JPanel(); + //Moving Image + + public Dashboard_GUI(Spiel Spiel, Texturenpakete texturen) { setMinimumSize(new Dimension(1000, 600)); texturenpakete = texturen; - + + System.out.println("DASHBOARD_GUI: Aktives: " + texturenpakete.getAktivesPaket()); System.out.println("DASHBOARD_GUI: Anzahl: " + texturenpakete.getAnzahlPakete()); aktuellesSpiel = Spiel; @@ -137,20 +142,8 @@ public class Dashboard_GUI extends JPanel{ rechts.setPreferredSize(new Dimension(250, 10)); spielfeldmitte.add(rechts, BorderLayout.EAST); rechts.setLayout(new BorderLayout(0, 0)); - ziehstapel.setAlignmentX(Component.CENTER_ALIGNMENT); rechts.add(ziehstapel, BorderLayout.CENTER); - ziehstapel.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent e) { - aktuellesSpiel.karteZiehen(); - aktualisiereGUI(); - } - }); - ziehstapel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); - ziehstapel.setPreferredSize(new Dimension(242, 362)); - ziehstapel.setHorizontalAlignment(SwingConstants.CENTER); - ziehstapel.setIcon(new ImageIcon(texturenpakete.getTextur(32).getScaledInstance(150, 210, Image.SCALE_SMOOTH))); - + spielfeldmitte.add(mitte, BorderLayout.CENTER); aussetzen.setVisible(false); aussetzen.addMouseListener(new MouseAdapter() { @@ -253,12 +246,13 @@ public class Dashboard_GUI extends JPanel{ //Erstes Panel wird angezeigt cl.show(panelCont, "3"); add(panelCont); - renderStart(); //Startseite beim ersten öffnen aktualisieren + renderStart(); //Startseite beim ersten öffnen aktualisieren } - + + //Spiel Panel wird gezeigt public void showgame(Spiel Spiel){ - //Neues Spiel wird übergeben + //Neues Spiel wird übergeben aktuellesSpiel = Spiel; System.out.println("DASHBOARD: Game darstellen"); cl.show(panelCont, "2"); @@ -334,21 +328,26 @@ public class Dashboard_GUI extends JPanel{ //Alle Karten auf der Hand darstellen for(int i = 0; i< aktuellesSpiel.getKartensatz().getHand(Spieler.SPIELER).size(); i++){ labelsspieler[i] = new JLabel(); - labelsspieler[i].setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); labelsspieler[i].setAlignmentY(Component.TOP_ALIGNMENT); labelsspieler[i].setBounds(new Rectangle(0, 0, 120, 180)); labelsspieler[i].setSize(new Dimension(120, 180)); labelsspieler[i].setHorizontalTextPosition(SwingConstants.CENTER); labelsspieler[i].setHorizontalAlignment(SwingConstants.CENTER); labelsspieler[i].setName(aktuellesSpiel.getKartensatz().getHand(Spieler.SPIELER).get(i).toString()); + + + if(btnpik.isVisible() == false) { + labelsspieler[i].setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); labelsspieler[i].addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { aktuellesSpiel.karteLegen(Integer.parseInt(e.getComponent().getName())); - System.out.println("Karte: " + e.getComponent().getName() + " ausgewählt."); + System.out.println("Karte: " + e.getComponent().getName() + " ausgewählt."); aktualisiereGUI(); } - }); + }); + } + labelsspieler[i].setIcon(new ImageIcon(texturenpakete.getTextur(aktuellesSpiel.getKartensatz().getHand(Spieler.SPIELER).get(i)).getScaledInstance(150, 200, Image.SCALE_SMOOTH))); spielerkarten.add(labelsspieler[i]); spielerkarten.updateUI(); //Panel erneuern @@ -375,7 +374,7 @@ public class Dashboard_GUI extends JPanel{ labelsgegner[i].setHorizontalTextPosition(SwingConstants.CENTER); labelsgegner[i].setHorizontalAlignment(SwingConstants.CENTER); labelsgegner[i].setName(aktuellesSpiel.getKartensatz().getHand(Spieler.COMPUTER).get(i).toString()); - //Immer Rückseite anzeigen + //Immer Rückseite anzeigen labelsgegner[i].setIcon(new ImageIcon(texturenpakete.getTextur(32).getScaledInstance(90, 130, Image.SCALE_SMOOTH))); gegnerkarten.add(labelsgegner[i]); gegnerkarten.updateUI(); //Panel erneuern @@ -409,6 +408,38 @@ public class Dashboard_GUI extends JPanel{ label_aktuellerSpieler.setText("Auswahlphase"); label_aktuellerSpieler.setForeground(Color.WHITE); } + + } + + public void aktualisiereZiehen() { + + for(Component c : rechts.getComponents()){ + rechts.remove(c); + rechts.revalidate(); + } + + + + System.out.println("DASHBOARD-GUI: Ziehstapel aktualisiert."); + + ziehstapel = new JLabel(); + ziehstapel.setAlignmentX(Component.CENTER_ALIGNMENT); + rechts.add(ziehstapel, BorderLayout.CENTER); + + ziehstapel.setPreferredSize(new Dimension(242, 362)); + ziehstapel.setHorizontalAlignment(SwingConstants.CENTER); + ziehstapel.setIcon(new ImageIcon(texturenpakete.getTextur(32).getScaledInstance(150, 210, Image.SCALE_SMOOTH))); + + if(btnpik.isVisible() == false){ + ziehstapel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); + ziehstapel.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + aktuellesSpiel.karteZiehen(); + aktualisiereGUI(); + } + }); + } } @@ -423,6 +454,7 @@ public class Dashboard_GUI extends JPanel{ aktualisiereAblage(); aktualisiereHand(); aktualisiereGegnerHand(); + aktualisiereZiehen(); revalidate(); repaint(); } @@ -432,21 +464,18 @@ public class Dashboard_GUI extends JPanel{ btnherz.setVisible(status); btnkaro.setVisible(status); btnkreuz.setVisible(status); + aktualisiereGUI(); mitte_unten.updateUI(); - } - - public Farbe getwunschfarbe() { - return Farbe.KARO; - } - + + } public void gewonnen(Spieler spieler) { - if(spieler == spieler.SPIELER) { + if(spieler == SPIELER) { System.out.println("Spiel gewonnen"); label_final.setText("Spiel gewonnen"); } - if(spieler == spieler.COMPUTER) { + if(spieler == COMPUTER) { System.out.println("Spieler verloren"); label_final.setText("Spieler verloren"); } @@ -459,4 +488,3 @@ public class Dashboard_GUI extends JPanel{ } } -