diff --git a/src/de/jaujau/gui/Dashboard_GUI.java b/src/de/jaujau/gui/Dashboard_GUI.java index dc2aa9a..d55b642 100644 --- a/src/de/jaujau/gui/Dashboard_GUI.java +++ b/src/de/jaujau/gui/Dashboard_GUI.java @@ -47,7 +47,8 @@ public class Dashboard_GUI extends JPanel{ private final JPanel gegner_hand = new JPanel(); private final JLabel ziehstapel = new JLabel(""); JPanel spielerkarten = new JPanel(); - JLabel labels[] = new JLabel[32]; + JLabel labelsspieler[] = new JLabel[32]; + JLabel labelsgegner[] = new JLabel[32]; private Spiel aktuellesSpiel; private JLabel label_aktuellerSpieler; private Texturenpakete texturenpakete; @@ -65,13 +66,12 @@ public class Dashboard_GUI extends JPanel{ private JButton btnkaro = new JButton("Karo"); private JButton btnkreuz = new JButton("Kreuz"); private final JLabel label_final = new JLabel("Spiel beendet"); + private final JScrollPane gegnerkartenpane = new JScrollPane(); + JPanel gegnerkarten = new JPanel(); public Dashboard_GUI(Spiel Spiel, Texturenpakete texturen) { setMinimumSize(new Dimension(1000, 600)); texturenpakete = texturen; - texturenpakete.addPaket("StandartTexturenBeta3.zip"); - texturenpakete.setAktivesPaket(0); - System.out.println(texturenpakete.getAktivesPaket()); aktuellesSpiel = Spiel; setLayout(new BorderLayout(0, 0)); panelCont.setLayout(cl); @@ -82,33 +82,46 @@ public class Dashboard_GUI extends JPanel{ game.add(spielfeld, BorderLayout.CENTER); spielfeld.setLayout(new BorderLayout(0, 0)); + + + + player_hand.setPreferredSize(new Dimension(100, 240)); - player_hand.setForeground(new Color(169, 169, 169)); player_hand.setBackground(new Color(169, 169, 169)); - - spielfeld.add(player_hand, BorderLayout.SOUTH); player_hand.setLayout(new BorderLayout(0, 0)); - - JScrollPane scrollPane_1 = new JScrollPane(); - scrollPane_1.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); - scrollPane_1.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); - scrollPane_1.setPreferredSize(new Dimension(100, 240)); - player_hand.add(scrollPane_1, BorderLayout.CENTER); - spielerkarten.setBackground(new Color(169, 169, 169)); + spielfeld.add(player_hand, BorderLayout.SOUTH); + + JScrollPane spielerkartenpane = new JScrollPane(); + spielerkartenpane.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); + spielerkartenpane.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); + spielerkartenpane.setPreferredSize(new Dimension(100, 240)); + player_hand.add(spielerkartenpane, BorderLayout.CENTER); + spielerkarten.setBackground(Color.GRAY); spielerkarten.setAutoscrolls(true); spielerkarten.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); - scrollPane_1.setViewportView(spielerkarten); spielerkarten.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5)); - gegner_hand.setBackground(UIManager.getColor("Button.shadow")); + spielerkartenpane.setViewportView(spielerkarten); - spielfeld.add(gegner_hand, BorderLayout.NORTH); + gegner_hand.setPreferredSize(new Dimension(10, 100)); + gegner_hand.setBackground(Color.GRAY); gegner_hand.setLayout(new BorderLayout(0, 0)); + spielfeld.add(gegner_hand, BorderLayout.NORTH); + + gegnerkartenpane.setBackground(Color.GRAY); + gegnerkartenpane.setViewportView(gegnerkarten); + gegner_hand.add(gegnerkartenpane, BorderLayout.CENTER); + gegnerkarten.setAutoscrolls(true); + gegnerkarten.setBackground(Color.GRAY); + gegnerkarten.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5)); + gegnerkartenpane.add(gegnerkarten); + + + spielfeldmitte.setPreferredSize(new Dimension(100, 20)); spielfeldmitte.setLayout(new BorderLayout(0, 0)); - JLabel beschreibung_aktuellerSpieler = new JLabel("Aktueller Spieler:"); beschreibung_aktuellerSpieler.setFont(new Font("Tahoma", Font.BOLD, 18)); beschreibung_aktuellerSpieler.setForeground(Color.BLACK); @@ -117,13 +130,10 @@ public class Dashboard_GUI extends JPanel{ label_aktuellerSpieler.setForeground(Color.BLACK); label_aktuellerSpieler.setFont(new Font("Tahoma", Font.BOLD, 18)); info_panel.add(label_aktuellerSpieler); - - + spielfeld.add(spielfeldmitte, BorderLayout.CENTER); - spielfeldmitte.add(info_panel, BorderLayout.NORTH); rechts.setPreferredSize(new Dimension(250, 10)); - spielfeldmitte.add(rechts, BorderLayout.EAST); rechts.setLayout(new BorderLayout(0, 0)); ziehstapel.setAlignmentX(Component.CENTER_ALIGNMENT); @@ -311,8 +321,9 @@ public class Dashboard_GUI extends JPanel{ } - public void aktualisiereHand() { - + + //Spielerhand GUI + public void aktualisiereHand() { //Alle Elemente entfernen for(Component c : spielerkarten.getComponents()){ spielerkarten.remove(c); @@ -321,15 +332,15 @@ public class Dashboard_GUI extends JPanel{ //Alle Karten auf der Hand darstellen for(int i = 0; i< aktuellesSpiel.getKartensatz().getHand(Spieler.SPIELER).size(); i++){ - labels[i] = new JLabel(); - labels[i].setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); - labels[i].setAlignmentY(Component.TOP_ALIGNMENT); - labels[i].setBounds(new Rectangle(0, 0, 120, 180)); - labels[i].setSize(new Dimension(120, 180)); - labels[i].setHorizontalTextPosition(SwingConstants.CENTER); - labels[i].setHorizontalAlignment(SwingConstants.CENTER); - labels[i].setName(aktuellesSpiel.getKartensatz().getHand(Spieler.SPIELER).get(i).toString()); - labels[i].addMouseListener(new MouseAdapter() { + 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()); + labelsspieler[i].addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { aktuellesSpiel.karteLegen(Integer.parseInt(e.getComponent().getName())); @@ -337,13 +348,52 @@ public class Dashboard_GUI extends JPanel{ aktualisiereGUI(); } }); - labels[i].setIcon(new ImageIcon(texturenpakete.getTextur(aktuellesSpiel.getKartensatz().getHand(Spieler.SPIELER).get(i)).getScaledInstance(150, 210, Image.SCALE_SMOOTH))); - spielerkarten.add(labels[i]); + labelsspieler[i].setIcon(new ImageIcon(texturenpakete.getTextur(aktuellesSpiel.getKartensatz().getHand(Spieler.SPIELER).get(i)).getScaledInstance(150, 210, Image.SCALE_SMOOTH))); + spielerkarten.add(labelsspieler[i]); spielerkarten.updateUI(); //Panel erneuern } } + + //Gegnerhand GUI + public void aktualisiereGegnerHand() { + + //Alle Elemente entfernen + for(Component c : gegnerkarten.getComponents()){ + gegnerkarten.remove(c); + gegnerkarten.revalidate(); + } + + //Alle Karten auf der Hand darstellen + for(int i = 0; i< aktuellesSpiel.getKartensatz().getHand(Spieler.COMPUTER).size(); i++){ + labelsgegner[i] = new JLabel(); + labelsgegner[i].setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); + labelsgegner[i].setAlignmentY(Component.TOP_ALIGNMENT); + labelsgegner[i].setBounds(new Rectangle(0, 0, 120, 180)); + labelsgegner[i].setSize(new Dimension(120, 180)); + labelsgegner[i].setHorizontalTextPosition(SwingConstants.CENTER); + labelsgegner[i].setHorizontalAlignment(SwingConstants.CENTER); + labelsgegner[i].setName(aktuellesSpiel.getKartensatz().getHand(Spieler.COMPUTER).get(i).toString()); + labelsgegner[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."); + aktualisiereGUI(); + } + }); + //Immer Rückseite anzeigen + labelsgegner[i].setIcon(new ImageIcon(texturenpakete.getTextur(32).getScaledInstance(150, 210, Image.SCALE_SMOOTH))); + gegnerkarten.add(labelsgegner[i]); + gegnerkarten.updateUI(); //Panel erneuern + } + } + + + + + // public void aktualisiereAblage(){ int sum = 0; synchronized (this) { @@ -386,6 +436,7 @@ public class Dashboard_GUI extends JPanel{ aktualisiereSpieleranzeige(); aktualisiereAblage(); aktualisiereHand(); + aktualisiereGegnerHand(); revalidate(); repaint(); } diff --git a/src/de/jaujau/gui/texturenauswaehlen_GUI.java b/src/de/jaujau/gui/texturenauswaehlen_GUI.java index 4d18162..80c52cb 100644 --- a/src/de/jaujau/gui/texturenauswaehlen_GUI.java +++ b/src/de/jaujau/gui/texturenauswaehlen_GUI.java @@ -11,7 +11,6 @@ import javax.swing.SwingConstants; import javax.swing.border.EmptyBorder; import de.jaujau.daten.Texturenpakete; -import javax.swing.JList; import javax.swing.JComboBox; import javax.swing.JFileChooser;