Hallo liebe Kommunity,
leider konnte ich keine passende Lösung im Forum finden...
ich habe eine ArrayList mit ToggleButton gefüllt...
diese werden schön auf ein JPanel gezeichnet welches in einem JFrame liegt.
Ich möchte nun einen beliebigen JTogglebutton anklicken und diese Visible(false) setzen.
dieser TB oder viel mehr ein neuer TB mit den gleichen Bild soll nun in ein 2tes Panel gezeichnet werden.
Meine Idee ist irgenwie an den Index des durch ae.getSource erhaltenen JToggleButton[x] zu kommen.
das Bild ist ein ImageIcon , KEIN Icon ... da ich es mit der überschriebenen paintmethode eines weiteren JPanels zeichnen lassen..
Wie kann ich das schön und einfach realisieren...
HILFE !!!!!!!
hier mein Code
leider konnte ich keine passende Lösung im Forum finden...
ich habe eine ArrayList mit ToggleButton gefüllt...
diese werden schön auf ein JPanel gezeichnet welches in einem JFrame liegt.
Ich möchte nun einen beliebigen JTogglebutton anklicken und diese Visible(false) setzen.
dieser TB oder viel mehr ein neuer TB mit den gleichen Bild soll nun in ein 2tes Panel gezeichnet werden.
Meine Idee ist irgenwie an den Index des durch ae.getSource erhaltenen JToggleButton[x] zu kommen.
das Bild ist ein ImageIcon , KEIN Icon ... da ich es mit der überschriebenen paintmethode eines weiteren JPanels zeichnen lassen..
Wie kann ich das schön und einfach realisieren...
HILFE !!!!!!!
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);
// Hier stecke ich fest!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//forSchleife????? durch Array iterieren aber wie i abfragen .... VerständnisProblem
okayEr.setVisible(true);
}