GUI UPDATE - (First Release)

This commit is contained in:
ekresse
2021-01-09 17:50:31 +01:00
parent 54f65e49ec
commit 31de5375a4
2 changed files with 63 additions and 33 deletions

View File

@@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding//src/de/jaujau/gui/Dashboard_GUI.java=UTF-8

View File

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