Witam mam pewien problem w ramce nie mogę wywołać metody z panelu getPass a metodę getName bez problemu mogę wywołać ktoś wie dlaczego tak się dzieje?
Panel
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class LoginPanel extends JPanel {
private Frame ramka;
public String name,pass;
public char [] password;
private JTextField nameField;
private JPasswordField passwordField;
private JLabel nameLabel;
private JLabel passwordLabel;
private JButton loginButton;
private Dimension wymiary=new Dimension(80,20);
private Dimension wymiaryLabel=new Dimension(40,20);
public LoginPanel(Frame frame){
ramka=frame;
setBackground(Color.lightGray);
setPreferredSize(new Dimension(150,85));
addComponents();
}
public String getName(){
name=nameField.getText();
return name;
}
public String getPass(){
String Password="";
password=passwordField.getPassword();
for (int i=0;i<password.length;i++){
Password+=password[i];
}
return Password;
}
private void addComponents(){
nameField=new JTextField();
passwordField=new JPasswordField();
loginButton=new JButton("Zaloguj");
nameLabel=new JLabel("Imie:");
passwordLabel=new JLabel("Hasło:");
nameField.setPreferredSize(wymiary);
passwordField.setPreferredSize(wymiary);
nameLabel.setPreferredSize(wymiaryLabel);
passwordLabel.setPreferredSize(wymiaryLabel);
add(nameLabel);
add(nameField);
add(passwordLabel);
add(passwordField);
add(loginButton);
loginButton.addActionListener(ramka);
}
}
Ramka
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Frame extends JFrame implements ActionListener{
JPanel MainPanel,LoginPanel;
String name,pass;
char [] correctPassword= {'s','e','c','u','r','i','t','y'};
public Frame(){
super ("Panel logowania");
setVisible(true);
MainPanel=new MainPanel();
LoginPanel=new LoginPanel(this);
MainPanel.add(LoginPanel);
add(MainPanel);
pack();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
name=LoginPanel.getPass(); // błąd The method getPass() is undefined for the type JPanel
}
}
Z góry dziękuję za pomoc