Hallo,
mein Problem:
Ich habe ein JApplet, darin gibt es eine Funktion die viele JButtons macht und darauf ein Thumbnail als Icon darauf legt, klickt man nun den Button an, so erscheint ein neues Fenster mit dem Original Bild:
Das wichtige daran ist, ich habe hier ein JFrame, und ein ToggleButton, nun möchte beim klicken des ToggleButton sowohl den Zustand ändern von Speichern auf Verwerfen und umgekehrt, also auch dazu die Farbe des Randes von Rot auf Grün und umgekehrt...
Mein ItemListener sieht so aus:
direkt in die Funktion pictureDetail konnte ich den ItemListener nicht einbauen, denke, das liegt daran, dass ich ein JFrame habe und kein weiteres JApplet (was auch gut so ist, weil ich ja ansonsten wieder ein weiteres Browser Fenster hätte, oder? :roll: )
Meine Idee wäre, einfach das JFrame mit den neuen Werten zu aktuallisieren, finde dazu aber keine Methode...
Weiß jemand wie das geht, oder kennt wer eine andere bessere Möglichkeit??? :###
Vielen Dank schon mal.
mein Problem:
Ich habe ein JApplet, darin gibt es eine Funktion die viele JButtons macht und darauf ein Thumbnail als Icon darauf legt, klickt man nun den Button an, so erscheint ein neues Fenster mit dem Original Bild:
Code:
/* Popup Window - original Picture with importants facts */
public void pictureDetail(ImageIcon icon, Integer i){
String strDet = new String();
String status = new String("Fehler");
Label lDet = new Label("");
final JToggleButton button = new JToggleButton(icon);
button.setSelected(true);
if (save.get(i).equals(false)){
status = "Verwerfen";
button.setBorder(BorderFactory.createLineBorder(Color.RED, 5));
}else{
status = "Speichern";
button.setBorder(BorderFactory.createLineBorder(Color.GREEN, 5));
}
strDet = " Bild Nummer: " + (i+1) + " " + "Dateiname: " + namen.get(i) + " " + "Status: " + status;
lDet.setText(strDet);
JFrame frame = new JFrame("Details");
Container con = frame.getContentPane();
con.setLayout(new BorderLayout(10, 10));
con.add(button, BorderLayout.CENTER);
con.add(lDet, BorderLayout.SOUTH);
button.addItemListener(toggle);
frame.setSize(373,395);
frame.setVisible(true);
System.out.println(save.get(i));
}
Das wichtige daran ist, ich habe hier ein JFrame, und ein ToggleButton, nun möchte beim klicken des ToggleButton sowohl den Zustand ändern von Speichern auf Verwerfen und umgekehrt, also auch dazu die Farbe des Randes von Rot auf Grün und umgekehrt...
Mein ItemListener sieht so aus:
Code:
public class ToggleListener implements ItemListener{
public void itemStateChanged(ItemEvent event){
boolean foundIt = false;
int i = -1;
Object obj = event.getSource();
JToggleButton button = (JToggleButton)obj;
ImageIcon icon = (ImageIcon)button.getIcon();
while (foundIt == false){
i++;
if (icon.equals(images.get(i))) {
foundIt = true;
} else {
}
}
int state = event.getStateChange();
String s;
if (state == ItemEvent.SELECTED) {
s = "Speichern";
save.set(i, true);
} else {
s = "Verwerfen";
save.set(i, false);
}
showStatus("Status: " + s);
System.out.println("Status: " + save.get(i) + " BildNr.: " + i);
}
}
direkt in die Funktion pictureDetail konnte ich den ItemListener nicht einbauen, denke, das liegt daran, dass ich ein JFrame habe und kein weiteres JApplet (was auch gut so ist, weil ich ja ansonsten wieder ein weiteres Browser Fenster hätte, oder? :roll: )
Meine Idee wäre, einfach das JFrame mit den neuen Werten zu aktuallisieren, finde dazu aber keine Methode...
Weiß jemand wie das geht, oder kennt wer eine andere bessere Möglichkeit??? :###
Vielen Dank schon mal.