Ponizej wrzucę 3x klasy.Zerknijcie na kod i podpowiedzcie co jest nie tak poniewa przy próbie odpalenia ramki pojawia się :
Problem jest tu ale co jest nie tak w tym geterze :
PrzyciskNowyUzytkownik = new JButton("Nowy Uzytkownik");
PrzyciskNowyUzytkownik.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0)
{
ramka.getContentPane().remove(ramka.getpanOtwarciaProgramu());
ramka.getContentPane().add(ramka.getpanNowegoUzytkownika());
ramka.validate();
ramka.repaint();
}
});
KLASA RAMKI :
package program;
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
public class GlownaRamka extends JFrame {
private PanelOtwarciaProgramu panOtwarciaProgramu;
private PanelNowegoUzytkownika panNowegoUzytkownika;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
GlownaRamka frame = new GlownaRamka();
frame.pack();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public PanelOtwarciaProgramu getpanOtwarciaProgramu()
{
return panOtwarciaProgramu;
}
public PanelNowegoUzytkownika getpanNowegoUzytkownika()
{
return panNowegoUzytkownika;
}
/**
* Create the frame.
*/
public GlownaRamka() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setLayout(new CardLayout(0, 0));
panOtwarciaProgramu= new PanelOtwarciaProgramu(this);
panOtwarciaProgramu.setBorder(new EmptyBorder(5, 5, 5, 5));
getContentPane().add(panOtwarciaProgramu);
panNowegoUzytkownika= new PanelNowegoUzytkownika(this);
panNowegoUzytkownika.setBorder(new EmptyBorder(5, 5, 5, 5));
// getContentPane().add(panNowegoUzytkownika);
}
}
KLASA PanelOtwarciaProgramu :
package program;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JPanel;
import javax.swing.LayoutStyle.ComponentPlacement;
//import program.GlownaRamka;
//import program.OknaDialogowe;
public class PanelOtwarciaProgramu extends JPanel
{
private JButton PrzyciskNowyUzytkownik;
private JButton PrzyciskLogowanie;
private JButton PrzyciskOProgramie;
private GlownaRamka ramka;
public PanelOtwarciaProgramu(GlownaRamka main)
{
main = this.ramka;
PrzyciskNowyUzytkownik = new JButton("Nowy Uzytkownik");
PrzyciskNowyUzytkownik.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0)
{
ramka.getContentPane().remove(ramka.getpanOtwarciaProgramu());
ramka.getContentPane().add(ramka.getpanNowegoUzytkownika());
ramka.validate();
ramka.repaint();
}
});
JButton PrzyciskLogowanie = new JButton("Logowanie");
PrzyciskLogowanie.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
/*OknaDialogowe dialog = new OknaDialogowe(GlownaRamka.this);
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.pack();
dialog.setVisible(true);*/
}
});
KLASA PanelNowegoUzytkownika :
package program;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.util.Map;
import javax.swing.ButtonGroup;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.LayoutStyle.ComponentPlacement;
import java.awt.FlowLayout;
import javax.swing.SwingConstants;
import java.awt.Component;
public class PanelNowegoUzytkownika extends JPanel
{
private JTextField poleLogin;
private JTextField poleHaslo;
private JTextField poleImie;
private JTextField poleNazwisko;
private JTextField poleWiek;
private JTextField poleWaga;
private JTextField poleEmail;
private JTextArea PoleInformacjiOUzytkowniku;
private static Map<String,Uzytkownik> uzytkownicyMapa;
private final ButtonGroup buttonGroup = new ButtonGroup();
private JLabel etykietaLogin;
private JLabel etykietaHaslo;
private JLabel etykietaImie;
private JLabel etykietaNazwiko;
private JLabel etykietaWiek;
private JLabel etykietaEmail;
private JLabel etykietaWaga;
private Uzytkownik uzytkownik;
private GlownaRamka ramka;
public PanelNowegoUzytkownika(GlownaRamka main)
{
main = this.ramka;
poleLogin = new JTextField();
poleLogin.setColumns(10);
poleHaslo = new JTextField();
poleHaslo.setColumns(10);
poleImie = new JTextField();
poleImie.setColumns(10);
poleNazwisko = new JTextField();
poleNazwisko.setColumns(10);
poleWiek = new JTextField();
poleWiek.setColumns(10);
etykietaLogin = new JLabel("login");
etykietaHaslo = new JLabel("haslo");
etykietaImie = new JLabel("imie");
etykietaNazwiko = new JLabel("nazwisko");
etykietaWiek = new JLabel("wiek");
poleWaga = new JTextField();
poleWaga.setColumns(10);
etykietaWaga = new JLabel("waga");
JRadioButton rdbtnKobieta = new JRadioButton("Kobieta",false);
rdbtnKobieta.setActionCommand("Kobieta");
buttonGroup.add(rdbtnKobieta);
JRadioButton rdbtnMezczyzna = new JRadioButton("Mezczyzna",true);
rdbtnMezczyzna.setActionCommand("Mezczyzna");
buttonGroup.add(rdbtnMezczyzna);
etykietaEmail = new JLabel("e-mail");
PoleInformacjiOUzytkowniku = new JTextArea();
PoleInformacjiOUzytkowniku.setRows(10);
PoleInformacjiOUzytkowniku.setTabSize(10);
PoleInformacjiOUzytkowniku.setWrapStyleWord(true);
PoleInformacjiOUzytkowniku.setEditable(false);
PoleInformacjiOUzytkowniku.setLineWrap(true);
JButton PrzyciskPowrotStronaGlowna = new JButton("");
PrzyciskPowrotStronaGlowna.setIcon(new ImageIcon(GlownaRamka.class.getResource("jpg/powrot.png")));
PrzyciskPowrotStronaGlowna.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0)
{
ramka.getContentPane().remove(ramka.getpanNowegoUzytkownika());
ramka.getContentPane().add(ramka.getpanOtwarciaProgramu());
ramka.validate();
ramka.repaint();
}
});
JButton PrzyciskStworzUzytkownika = new JButton("");
PrzyciskStworzUzytkownika.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
int wie = Integer.parseInt(poleWiek.getText());
double wag = Double.parseDouble(poleWaga.getText());
String ple = buttonGroup.getSelection().getActionCommand();
uzytkownik = new Uzytkownik(poleImie.getText(),poleNazwisko.getText(),wie,wag,ple,poleEmail.getText(),poleLogin.getText(),poleHaslo.getText());
uzytkownicyMapa.put(poleLogin.getText(),uzytkownik);
PoleInformacjiOUzytkowniku.append("Dodano uzytkownika"+"\n");
PoleInformacjiOUzytkowniku.append("imie :" + " " + uzytkownik.getImie()+"\n");
PoleInformacjiOUzytkowniku.append("nazwisko :" + " " + uzytkownik.getNazwisko()+"\n");
PoleInformacjiOUzytkowniku.append("wiek :" + " " + uzytkownik.getWiek()+"\n");
PoleInformacjiOUzytkowniku.append("waga :" + " " + uzytkownik.getWaga()+"\n");
PoleInformacjiOUzytkowniku.append("plec :" + " " + uzytkownik.getPlec()+"\n");
PoleInformacjiOUzytkowniku.append("email :" + " " + uzytkownik.getAdresEmail()+"\n");
PoleInformacjiOUzytkowniku.append("----------------------------------------------" + "\n");
PoleInformacjiOUzytkowniku.append("login :" + " " + uzytkownik.getLogin()+"\n");
PoleInformacjiOUzytkowniku.append("haslo :" + " " + uzytkownik.getHaslo()+"\n");
poleImie.setText("");
poleNazwisko.setText("");
poleEmail.setText("");
poleWiek.setText("");
poleWaga.setText("");
poleLogin.setText("");
poleHaslo.setText("");
try {
FileOutputStream PolaczZapiszUzytkownicy = new FileOutputStream("uzytkowinicyStan.ser");
ObjectOutputStream zapiszUzytkownicy = new ObjectOutputStream(PolaczZapiszUzytkownicy);
zapiszUzytkownicy.writeObject(uzytkownicyMapa);
zapiszUzytkownicy.close();
} catch (Exception ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
}
}
});
PrzyciskStworzUzytkownika.setIcon(new ImageIcon(GlownaRamka.class.getResource("jpg/nowy.png")));