Salve ragazzi, sono nuovo del forum e questo è il mio primo topic.
Sono un neofita del java, tant'è che l'ho iniziato quest'anno in università.
Ho un paio di dubbi sui metodi getters & setters, in particolar modo sulla Gui: Se costruisco una finestra devo comunque usarli?
Ad esempio, posto il codice che sto usando per costruire la mia "Login Frame":
package vista.finestrelog;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import listener.ActionIntro;
import util.Constants;
public class Login_Frame extends JFrame implements Constants {
//Creazione dell'ascoltatore.
ActionIntro intro =new ActionIntro(this);
private JButton login = new JButton("ACCEDI");//Creazione del pulsante accedi al sistema.
private JButton pwforgotten = new JButton("PASSWORD DIMENTICATA"); //Creazione del pulsante pw domenticata.
//Creazione dei campi di inersimento.
private JPasswordField pass= new JPasswordField();
private JTextField usr= new JTextField();
private JTextField prg=new JTextField();
//Getters & Setters
public ActionIntro getIntro() {
return intro;
}
public JButton getLogin() {
return login;
}
public JButton getPwforgotten() {
return pwforgotten;
}
public JPasswordField getPass() {
return pass;
}
public JTextField getUsr() {
return usr;
}
public JTextField getPrg() {
return prg;
}
//Costruttore.
public Login_Frame(){
super("Finestra di Login");
//Creazione del contenitore.
Container c = getContentPane();
c.setLayout(new BorderLayout()); // Setto il layout del contenitore come un border
//Configurazione dei bottoni e dei pannelli che mi serviranno.
getPwforgotten().addActionListener(intro);
getPwforgotten().setActionCommand(ACTION_COMMAND_BTN_PWFORGOTTEN);
//Creazione delle etichette.
JLabel pw = new JLabel("PASSWORD");
JLabel user = new JLabel("USERNAME");
JLabel prog= new JLabel ("PROGETTO");
//Creazione dei pannelli.
JPanel Pnord = new JPanel();
Pnord.setLayout(new GridLayout(3,2));
Pnord.setSize(500, 200);
JPanel Psud = new JPanel();
Psud.setLayout(new FlowLayout());
Psud.setSize(300, 300);
//Aggiunta dei bottoni ai pannelli.
Pnord.add(user);
Pnord.add(getUsr());
Pnord.add(pw);
Pnord.add(getPass());
Pnord.add(prog);
Pnord.add(getPrg());
Psud.add(login);
Psud.add(pwforgotten);
c.add(Psud, BorderLayout.SOUTH);
c.add(Pnord, BorderLayout.NORTH);
setVisible(true);
setLocation(500, 220);
pack();
}
}
In questo caso conviene usare i metodi get? So che servono per preservare l'information hiding, ma in questo caso mi sembra solo uno spreco di prestazioni.
P.S. Lasciate stare la parte del codice riguardo ai size, quella è un'altra battaglia contro al codice che sto combattendo, ed attualmente perdendo.
Grazie mille a tutti.