Hallo zusammen,
ich komme eigendlich aus der JSP/JSF Ecke, von Swing habe ich so gut wie keine Ahnung.
Zu mein Problem - ich finde das "warum nicht".
Wenn ich mir in einem Controller ein Textfeld mit einem geter hole reagiert das Textfeld nicht.
(Das Swing tutorial habe ich schon konsultiert aber den Grund nicht finden können.)
ich komme eigendlich aus der JSP/JSF Ecke, von Swing habe ich so gut wie keine Ahnung.
Zu mein Problem - ich finde das "warum nicht".
Wenn ich mir in einem Controller ein Textfeld mit einem geter hole reagiert das Textfeld nicht.
(Das Swing tutorial habe ich schon konsultiert aber den Grund nicht finden können.)
Code:
//PsydoCode zur Problemveranschaulichung:
public class MyPanel {
private JTextfeld textFeld1;
//hier soll Text und Focus hin, sobald textfeld1 den Focus verliert.
private JTextfeld textFeld2;
private FocusListener focusL;
public JPanel getPanel(){
JPanel jPanel = new JPanel();
textFeld1 = new TextFeld();
textFeld1.addFocusListener(focusL);
textFeld1.setName("binUno");
jPanel.add(textFeld1);
textFeld2 = new TextFeld();
jPanel.add(textFeld2);
return jPanel;
}
public JTextFeld getJTextFeld2(){
return this.textFeld2;
}
public setFocusListener(FocusListener handler){
this.focusL = handler;
}
}//ende MyPanel
public Class Controller{
JPanel myPanel;
public Controller(){
this.myPanel = new MyPanel(); //instanz Panel
this.myPanel.setFocusListener(new FocusHandler()); //erst Listener setzen
this.jPanel.getPanel(); //dann das Pannel erzeugen und die Refferenz holen.
}
//inner class
class FocusHandler implements FocusListener {
public void focusGained( FocusEvent e ) {/* ignore */}
public void focusLost( FocusEvent e ) {
if( "binUno".equals( e.getSource().getName() ) ){
myPanel.getTextFeld2.requestFocus(); //focus muss nicht klappen
myPanel.getTextFeld2.setText("warum Passiert Nix"); //aber der Text muss drin stehen.
myPanel.revalidate();
myPanel.repaint();
}
}//ende inner
}//ende Controller
Zuletzt bearbeitet: