View Full Version : [Java] Richiedere il focus su un JButton
ho un jdialog con 2 pulsanti, come faccio all'apertura a fare in modo che il focus sia su uno di questi due? con il metodo requestFocus non succede niente... bho
hai ragione non funziona :wtf:
Richiedi il cambiamento del focus dopo la visualizzazione della finestra?
Originariamente inviato da PGI
Richiedi il cambiamento del focus dopo la visualizzazione della finestra?
il codice e' questo:
text = new JTextField();
text.setBounds(80,20,125,20);
text.setText("172.20.56.52");
ip1 = new JLabel("IP:");
ip1.setBounds(10,15,120,30);
si1 = new JButton("Ok");
si1.setBounds(75,60,60,20);
si1.requestFocus();
no = new JButton("Annulla");
no.setBounds(145,60,90,20);
pan = new JPanel();
pan.setLayout(null);
pan.add(ip1);
pan.add(text);
pan.add(si1);
pan.add(no);
si1.addActionListener(this);
no.addActionListener(this);
diag = new JDialog(this,"Connetti",true);
diag.setBounds(this.getX()+10,this.getY()+10,300,110);
diag.setResizable(false);
diag.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
diag.getContentPane().add(pan);
diag.show();
faccio requestFocus sul pulsante si1 .... ma non lo focusa
questo:
si1.requestFocus();
mettilo dopo questo:
diag.show();
requestFocus() dovrebbe essere sostituiti con requestFocusInWindow().
Ciao.
niente, ho provato anche a cambiare l'ordine in cui creo i componenti mettendo prima il pulsante, ma niente. Il focus va sempre al campo di testo! :muro:
Aspetta, qui la questione non è "provare" a mettere qualcosa dopo qualcos'altro.
Le richieste di possesso del focus devono essere risolte dopo che la finestra in cui il componente è inserito è stata visualizzata. Altrimenti vengono semplicemente ignorate.
Dopodichè, che il campo di testo "prevalga" sul bottone non è, in fondo, irragionevole.
Resta da capire come saltare questo passaggio e attribuire al bottone il focus in prevalenza sul campo di testo.
Questione che risolviamo a breve.
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.