Hallo liebe Leute,
ich bin gerade in der Freizeit dabei ein bisschen mit GUI's rum zubasteln. Dafür habe ich eine GUI erstellt, womit es später möglich sein wird, sein BMI zu berechnen.
Für die Eingabe des Gewichtes & der Größe habe ich zwei JTextfelder erstellt und diese mit den Text versehen "Eingabe Gewicht/Größe", so bald man auf das jeweilige Feld klickt verschwindet der Text und es kann eine Eingabe getätigt werden. Das Problem was ich habe sieht dabei so aus, dass sobald ich die Anwendung starte bereits das erste Feld ausgewählt ist und man direkt etwas eintippen kann, was ja nicht sein sollte da man ja so der Text mit "Gebe z.B Größe an" nicht mehr sichtbar ist. Ich möchte das beim starten der Anwendung kein Textfeld ausgewählt wird.
Ich habe bereits probiert ein Focus auf ein Bottom beim erstellen der GUI zu lenken, dass hat aber nicht funktoniert.
Wisst ihr was ich machen kann?
Ps. Danke schon mal für eure Hilfe!
Code:
ich bin gerade in der Freizeit dabei ein bisschen mit GUI's rum zubasteln. Dafür habe ich eine GUI erstellt, womit es später möglich sein wird, sein BMI zu berechnen.
Für die Eingabe des Gewichtes & der Größe habe ich zwei JTextfelder erstellt und diese mit den Text versehen "Eingabe Gewicht/Größe", so bald man auf das jeweilige Feld klickt verschwindet der Text und es kann eine Eingabe getätigt werden. Das Problem was ich habe sieht dabei so aus, dass sobald ich die Anwendung starte bereits das erste Feld ausgewählt ist und man direkt etwas eintippen kann, was ja nicht sein sollte da man ja so der Text mit "Gebe z.B Größe an" nicht mehr sichtbar ist. Ich möchte das beim starten der Anwendung kein Textfeld ausgewählt wird.
Ich habe bereits probiert ein Focus auf ein Bottom beim erstellen der GUI zu lenken, dass hat aber nicht funktoniert.
Wisst ihr was ich machen kann?
Ps. Danke schon mal für eure Hilfe!
Code:
Java:
public class Gui {
public Gui()
{ final int size = 650;
JPanel container = new JPanel(null);//JPanel wird erstellt mit NULL-LayoutManager
//*Fenster wird erstellt*//
JFrame fenster = new JFrame("BMI-Rechner");
fenster.setSize(size, size);
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenster.setLocationRelativeTo(null);
fenster.setContentPane(container);//Panel wird JFrame als Con übergeben
//*Buttons und Textfelder werden erstellt*//
JButton b1 = new JButton("Berechne!");// Button um BMI zu berechnen
b1.setBounds(450,500,140,50);
JTextField gField = new JTextField("Gib hier dein Gewicht ein!");
gField.setBounds(100, 150, 140, 50);
gField.addFocusListener(new FocusAdapter(){
public void focusGained(FocusEvent e){
JTextField source = (JTextField)e.getComponent();
source.setText("");
}
public void focusLost(FocusEvent e){
JTextField source = (JTextField)e.getComponent();
source.setText("Gib hier dein Gewicht ein!");
}
});
JTextField hField = new JTextField("Gib hier deine Größe ein!");
hField.setBounds(100, 250, 140, 50);
hField.addFocusListener(new FocusAdapter(){
public void focusGained(FocusEvent e){
JTextField source = (JTextField)e.getComponent();
source.setText("");
}
public void focusLost(FocusEvent e){
JTextField source = (JTextField)e.getComponent();
source.setText("Gib hier deine Größe ein!");
}
});
//*Buttons werden Panel übergeben und Fenster wird sichtbar gemacht*//
container.add(b1);
container.add(hField);
container.add(gField);
fenster.setVisible(true);
b1.requestFocus();
}