public class Main1 extends JFrame implements ActionListener {
private JLabel usuario, contraseña, image;
public JButton blogin;
private JTextField jtusuario, jtcontra;
private String susuariofc = "", scontra = "";
public Main1() {
setLayout(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setTitle("Cajero Automatico");
getContentPane().setBackground(new Color(35, 0, 146));
setIconImage(new
ImageIcon(getClass().getResource("images/ico.jpg")).getImage());
usuario = new JLabel("Usuario:");
usuario.setForeground(new Color(255, 255, 255));
usuario.setVisible(true);
usuario.setBounds(40, 35, 100, 50);
add(usuario);
contraseña = new JLabel("Contraseña:");
contraseña.setForeground(new Color(255, 255, 255));
contraseña.setBounds(40, 105, 100, 50);
add(contraseña);
ImageIcon imagen = new
ImageIcon(getClass().getResource("images/LOGO.jpg"));
image = new JLabel(imagen);
image.setBounds(15, 275, 200, 78);
add(image);
blogin = new JButton("Login");
blogin.setBounds(90, 230, 100, 30);
blogin.setForeground(new Color(255, 255, 255));
blogin.setBackground(new Color(16, 0, 135));
blogin.addActionListener(this);
add(blogin);
jtusuario = new JTextField();
jtusuario.setBounds(40, 80, 200, 33);
add(jtusuario);
jtcontra = new JTextField();
jtcontra.setBounds(40, 150, 200, 33);
add(jtcontra);
}
//control para el login
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == blogin) {
susuariofc = jtusuario.getText();
scontra = jtcontra.getText();
if (susuariofc.equals("josmart96") && (scontra.equals("rojo2000"))) {
FirstClass secondwindow = new FirstClass();
secondwindow.setBounds(0, 0, 600, 360);
secondwindow.setVisible(true);
secondwindow.setResizable(false);
secondwindow.setLocationRelativeTo(null);
this.setVisible(false);
} else {
JOptionPane.showMessageDialog(null, "Usuario y/o Contraseña
incorrectas");
}
}
}
public static void main(String[] args) {
Main1 firstwindow = new Main1();
firstwindow.setBounds(0, 0, 290, 400);
firstwindow.setVisible(true);
firstwindow.setResizable(false);
firstwindow.setLocationRelativeTo(null);
}
public void mensajero(String susuario){
FirstClass FC=new FirstClass();
FC.setSusuario(susuariofc);
}
}
public class FirstClass extends JFrame implements ActionListener {
private JLabel labelusuario;
private JButton butonfc1;
private JButton butonfc2;
private JButton butonfc3;
private JButton butonfc4;
public String susuariofc;
private int balance;
public FirstClass() {
setLayout(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setTitle("Cajero Automatico");
setIconImage(new
ImageIcon(getClass().getResource("images/ico.jpg")).getImage());
getContentPane().setBackground(new Color(35, 0, 146));
labelusuario = new JLabel("Hola " + susuariofc + " seleccione una
opcion");
labelusuario.setBounds(100, 10, 300, 50);
labelusuario.setForeground(new Color(255, 255, 255));
add(labelusuario);
butonfc1 = new JButton("Consultar");
butonfc1.setBounds(40, 100, 200, 50);
butonfc1.setForeground(new Color(255, 255, 255));
butonfc1.setBackground(new Color(16, 0, 135));
butonfc1.addActionListener(this);
add(butonfc1);
butonfc2 = new JButton("Depositar");
butonfc2.setBounds(350, 100, 200, 50);
butonfc2.setForeground(new Color(255, 255, 255));
butonfc2.setBackground(new Color(16, 0, 135));
butonfc2.addActionListener(this);
add(butonfc2);
butonfc3 = new JButton("Retirar");
butonfc3.setBounds(40, 200, 200, 50);
butonfc3.setForeground(new Color(255, 255, 255));
butonfc3.setBackground(new Color(16, 0, 135));
butonfc3.addActionListener(this);
add(butonfc3);
butonfc4 = new JButton("Cerrar Seccion");
butonfc4.setBounds(350, 200, 200, 50);
butonfc4.setForeground(new Color(255, 255, 255));
butonfc4.setBackground(new Color(16, 0, 135));
butonfc4.addActionListener(this);
add(butonfc4);
}
@Override
public void actionPerformed(ActionEvent a) {
}
public void setSusuario(String susuariofc) {
this.susuariofc = susuariofc;
}
public String getSusuario() {
return this.susuariofc;
}
}
Метод сеттер и getter, чтобы получать стоимость
Soluci¦n, если не debés изменять структуру классов (или же, отказываясь от использования субклассов), он может быть используя getter и сеттера как ты хорошо это выдвинул начала, но меняя getSusuario()
от Main1
до estÃ: костариканский , чтобы соглашаться с FirstClass
, не создавая другого объекта Main1
(так как сначала ты создаешь один, когда инстанции firstwindow
). Asà - quedar¦ - в:
class Main1 extends JFrame implements ActionListener {
private JLabel usuario, contraseña;
//image;
public JButton blogin;
private JTextField jtusuario, jtcontra;
private static String susuariofc = "";//la declaré estática
private String scontra = "";
public Main1() {
setLayout(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setTitle("Cajero Automatico");
getContentPane().setBackground(new Color(35, 0, 146));
// setIconImage(new
// ImageIcon(getClass().getResource("images/ico.jpg")).getImage());
usuario = new JLabel("Usuario:");
usuario.setForeground(new Color(255, 255, 255));
usuario.setVisible(true);
usuario.setBounds(40, 35, 100, 50);
add(usuario);
contraseña = new JLabel("Contraseña:");
contraseña.setForeground(new Color(255, 255, 255));
contraseña.setBounds(40, 105, 100, 50);
add(contraseña);
// ImageIcon imagen = new
// ImageIcon(getClass().getResource("images/LOGO.jpg"));
// image = new JLabel(imagen);
// image.setBounds(15, 275, 200, 78);
// add(image);
blogin = new JButton("Login");
blogin.setBounds(90, 230, 100, 30);
blogin.setForeground(new Color(255, 255, 255));
blogin.setBackground(new Color(16, 0, 135));
blogin.addActionListener(this);
add(blogin);
jtusuario = new JTextField();
jtusuario.setBounds(40, 80, 200, 33);
add(jtusuario);
jtcontra = new JTextField();
jtcontra.setBounds(40, 150, 200, 33);
add(jtcontra);
}
//control para el login
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == blogin) {
susuariofc = jtusuario.getText();
scontra = jtcontra.getText();
if (susuariofc.equals("josmart96") && (scontra.equals("rojo2000"))) {
FirstClass secondwindow = new FirstClass();
secondwindow.setBounds(0, 0, 600, 360);
secondwindow.setVisible(true);
secondwindow.setResizable(false);
secondwindow.setLocationRelativeTo(null);
this.setVisible(false);
}
else {
JOptionPane.showMessageDialog(null, "Usuario y/o Contraseña incorrectas");
}
}
}
// public void mensajero(String susuario){
// FirstClass FC=new FirstClass();
// FC.setSusuario(susuariofc);
// }
public static void main(String[] args) {
Main1 firstwindow = new Main1();
firstwindow.setBounds(0, 0, 290, 400);
firstwindow.setVisible(true);
firstwindow.setResizable(false);
firstwindow.setLocationRelativeTo(null);
}
//lo declaré estático para acceder sin crear objeto adicional
public static String getSusuariofc() {
return susuariofc;
}
}
class FirstClass extends JFrame implements ActionListener {
private JLabel labelusuario;
private JButton butonfc1;
private JButton butonfc2;
private JButton butonfc3;
private JButton butonfc4;
private String susuariofc;
private int balance;
public FirstClass() {
setLayout(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setTitle("Cajero Automatico");
// setIconImage(new
// ImageIcon(getClass().getResource("images/ico.jpg")).getImage());
getContentPane().setBackground(new Color(35, 0, 146));
setSusuario(Main1.getSusuariofc());//acá seteo susuariofc usando método estático para no crear otro objeto Main1
labelusuario = new JLabel("Hola " + susuariofc + " seleccione una opcion");
labelusuario.setBounds(100, 10, 300, 50);
labelusuario.setForeground(new Color(255, 255, 255));
add(labelusuario);
butonfc1 = new JButton("Consultar");
butonfc1.setBounds(40, 100, 200, 50);
butonfc1.setForeground(new Color(255, 255, 255));
butonfc1.setBackground(new Color(16, 0, 135));
butonfc1.addActionListener(this);
add(butonfc1);
butonfc2 = new JButton("Depositar");
butonfc2.setBounds(350, 100, 200, 50);
butonfc2.setForeground(new Color(255, 255, 255));
butonfc2.setBackground(new Color(16, 0, 135));
butonfc2.addActionListener(this);
add(butonfc2);
butonfc3 = new JButton("Retirar");
butonfc3.setBounds(40, 200, 200, 50);
butonfc3.setForeground(new Color(255, 255, 255));
butonfc3.setBackground(new Color(16, 0, 135));
butonfc3.addActionListener(this);
add(butonfc3);
butonfc4 = new JButton("Cerrar Seccion");
butonfc4.setBounds(350, 200, 200, 50);
butonfc4.setForeground(new Color(255, 255, 255));
butonfc4.setBackground(new Color(16, 0, 135));
butonfc4.addActionListener(this);
add(butonfc4);
}
@Override
public void actionPerformed(ActionEvent a) {
}
public void setSusuario(String susuariofc) {
this.susuariofc = susuariofc;
}
public String getSusuario() {
return this.susuariofc;
}
}
, И если также они не позволяют тебе менять это estÃ: костариканский другой вариант, который у тебя остается, состоит в том, чтобы перемещать его стоимость susuariofc
от Main1
до FirstClass
как parÃ: метр в Вашем строителе, но сначала обрати внимание, если он подает тебе первый soluci¦n