Hallo Leute,
ich möchte ein eigenes Kartenspiel programmieren. Dazu habe ich erst einmal ein Fenster in dem der Nutzer mehrere Spieleinstellungen auswählen kann.
Anzahl der Spieler
Voreingestellte Kartendecks
vom Nutzer zusammengestellte Kartendecks
Beenden
Starten
Hatte das alles schon einmal implementiert, nach einem Systemabsturz war dann alles weg.
Da ich noch am lernen bin wollte ich meine neuen Kenntnisse einsetzen und habe es nun doch
anders neu umgesetzt. Stosse nun aber auf Probleme.
Beim Punkt vom Nutzer zusammengestelltes Kartendeck komme ich nicht weiter.
Das möchte ich erreichen(so soll es aussehen).
Der Nutzer wählt den Menüpunkt Benutzerdefiniert aus ... dann öffnet sich ein Fenster mit allen wählbaren Karten ... der Nutzer wählt 10 Karten aus (diese verschwinden aus der Auswahl und erscheinen in einem Streifen darüber). Durch links klicken auf die Karten soll sich eine Detailansicht
in einem neuen Fenster öffnen. Mit Rechtsklick soll dann die Auswahl getroffen werden s.oben.
Bei klick auf die "ausgewählten Karten" soll die Auswahl wieder rückgängig gemacht werde.
So weit so gut.
Mein Problem wie zeichne ich die ausgewählte Karte mit dem entsprechenden Bild.
Ich brauch also eigentlich den Index des JToggleButton um das richtige Bild zuzuordnen.
Bitte mit Erklärung ...
Vielen Dank schon mal
hier mein Code
ich möchte ein eigenes Kartenspiel programmieren. Dazu habe ich erst einmal ein Fenster in dem der Nutzer mehrere Spieleinstellungen auswählen kann.
Anzahl der Spieler
Voreingestellte Kartendecks
vom Nutzer zusammengestellte Kartendecks
Beenden
Starten
Hatte das alles schon einmal implementiert, nach einem Systemabsturz war dann alles weg.
Da ich noch am lernen bin wollte ich meine neuen Kenntnisse einsetzen und habe es nun doch
anders neu umgesetzt. Stosse nun aber auf Probleme.
Beim Punkt vom Nutzer zusammengestelltes Kartendeck komme ich nicht weiter.
Das möchte ich erreichen(so soll es aussehen).
Der Nutzer wählt den Menüpunkt Benutzerdefiniert aus ... dann öffnet sich ein Fenster mit allen wählbaren Karten ... der Nutzer wählt 10 Karten aus (diese verschwinden aus der Auswahl und erscheinen in einem Streifen darüber). Durch links klicken auf die Karten soll sich eine Detailansicht
in einem neuen Fenster öffnen. Mit Rechtsklick soll dann die Auswahl getroffen werden s.oben.
Bei klick auf die "ausgewählten Karten" soll die Auswahl wieder rückgängig gemacht werde.
So weit so gut.
Mein Problem wie zeichne ich die ausgewählte Karte mit dem entsprechenden Bild.
Ich brauch also eigentlich den Index des JToggleButton um das richtige Bild zuzuordnen.
Bitte mit Erklärung ...
Vielen Dank schon mal
hier mein Code
Java:
public void setButtonBenutzdef(JPanel container,int anzahl){
for(int i = 0;i < anzahl;i++){
container.setLayout(null);
benutzer[i] = new JToggleButton(Integer.toString(i));
benutzer[i].setName(benutzer[i].getText());
benutzer[i].setActionCommand("benutzer" + benutzer[i].getName());
benutzer[i].addActionListener(this);
benutzer[i].setLayout(null);
if(i<10){
ImageIcon bild = (ImageIcon)burghof[i];
benutzer[i].setDisabledIcon(bild);
int breite = (bild.getIconWidth()/KLEIN);
int hoehe = (bild.getIconHeight()/KLEIN);
benutzer[i].add(new Leinwand(0, 0, bild.getIconWidth(), bild.getIconHeight(), bild, KLEIN));
benutzer[i].setBounds(10+(breite*(i%10)),10+(hoehe*(i/10)),breite,hoehe);
}
if(i>=10 && i<20){
ImageIcon bild = (ImageIcon)feldherr[i-10];
int breite = (bild.getIconWidth()/KLEIN);
int hoehe = (bild.getIconHeight()/KLEIN);
benutzer[i].add(new Leinwand(0, 0, bild.getIconWidth(), bild.getIconHeight(), bild, KLEIN));
benutzer[i].setBounds(10+(breite*(i%10)),10+(hoehe*(i/10)),breite,hoehe);
}
if(i>=20 && i<30){
ImageIcon bild = (ImageIcon)unterstadt[i-20];
int breite = (bild.getIconWidth()/KLEIN);
int hoehe = (bild.getIconHeight()/KLEIN);
benutzer[i].add(new Leinwand(0, 0, bild.getIconWidth(), bild.getIconHeight(), bild, KLEIN));
benutzer[i].setBounds(10+(breite*(i%10)),10+(hoehe*(i/10)),breite,hoehe);
}
if(i>=30 && i<40){
ImageIcon bild = (ImageIcon)wissenschaft[i-30];
int breite = (bild.getIconWidth()/KLEIN);
int hoehe = (bild.getIconHeight()/KLEIN);
benutzer[i].add(new Leinwand(0, 0, bild.getIconWidth(), bild.getIconHeight(), bild, KLEIN));
benutzer[i].setBounds(10+(breite*(i%10)),10+(hoehe*(i/10)),breite,hoehe);
}
if(i>=40 && i<49){
ImageIcon bild = (ImageIcon)abenteuer[i-40];
int breite = (bild.getIconWidth()/KLEIN);
int hoehe = (bild.getIconHeight()/KLEIN);
benutzer[i].add(new Leinwand(0, 0, bild.getIconWidth(), bild.getIconHeight(), bild, KLEIN));
benutzer[i].setBounds(10+(breite*(i%10)),10+(hoehe*(i/10)),breite,hoehe);
}
container.add(benutzer[i]);
}
}
Java:
else if(ae.getActionCommand().startsWith("benutzer")){
//TODO
benutzerAuswahl.setVisible(true);
((JToggleButton)ae.getSource()).setVisible(false);
// wie kann ich den JTogglButton wiedererkennen, oder ist mein Ansatz Käse
okayEr.setVisible(true);
}