Rozmieszczenie paneli w ramce

0

Ponizej wrzucę 3x klasy.Zerknijcie na kod i podpowiedzcie co jest nie tak poniewa przy próbie odpalenia ramki pojawia się :

blad.JPG

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")));
	
	
1

W klasie PanelOtwarciaProgramu masz błąd

main = this.ramka;    

Powinieneś main do ramki przypisać

0

Dzięki teraz widzę.

0

Dorzuce jescze do tego wątku kolejne zapytanie. Zerknijcie na poniższe dwie klasy swoim fachowym okiem. Chce wyswietlic w ramce ten Panel.

KOD RAMKI :

 
package program;

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

public class test extends JFrame {

	
    private PanelPrzebieguCwiczen1 panel;
	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					test frame = new test();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public test() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		
		
		panel = new PanelPrzebieguCwiczen1(this);
		panel.setBorder(new EmptyBorder(5, 5, 5, 5));
        getContentPane().add(panel);
	}

}

KOD PANELU:

 
package program;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFormattedTextField;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JTextField;
import javax.swing.JToggleButton;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;

import java.awt.FlowLayout;

import javax.swing.LayoutStyle.ComponentPlacement;

import java.awt.CardLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class PanelPrzebieguCwiczen1 extends JPanel
{


private JFormattedTextField textFieldCwiczenie1;
private JTextField textFieldLicznikPowtorzenCwiczenie1;
private JComboBox<Object> comboBoxCwiczenie1;	    
private int licznikWykonaniaCwiczenie1;	    
private int licznik1=0;	    
private JProgressBar progressBarCwiczenie1;	
private JToggleButton ToggleButtonStartStopCwiczenie1;
private JLabel etykietaIloscWykonanychSeriiCwiczenie1;
private JButton PrzyciskWykonanoCwiczenie1;
private JPanel panPrzebieguCwiczen1;
private JLabel etykietaCwiczenie1;


private test testowaramka;

public PanelPrzebieguCwiczen1(test main) 
{
	
panPrzebieguCwiczen1 = new JPanel();	
this.testowaramka = main;
progressBarCwiczenie1 = new JProgressBar();

comboBoxCwiczenie1 = new JComboBox<Object>();
comboBoxCwiczenie1.setToolTipText("Wybierz \u0107wiczenie z listy");

textFieldCwiczenie1 = new JFormattedTextField();
textFieldCwiczenie1.setEditable(false);
textFieldCwiczenie1.setColumns(10);

etykietaIloscWykonanychSeriiCwiczenie1 = new JLabel("ilo\u015B\u0107 powt\u00F3rze\u0144");

textFieldLicznikPowtorzenCwiczenie1 = new JTextField("0");
textFieldLicznikPowtorzenCwiczenie1.setEditable(false);
textFieldLicznikPowtorzenCwiczenie1.setColumns(10);

ToggleButtonStartStopCwiczenie1 = new JToggleButton("START");
ToggleButtonStartStopCwiczenie1.addActionListener(new ActionListener() {
	public void actionPerformed(ActionEvent arg0) {
		
		if (ToggleButtonStartStopCwiczenie1.isSelected())
		{
			ToggleButtonStartStopCwiczenie1.setText("STOP");
		}
		else 
		{
			ToggleButtonStartStopCwiczenie1.setText("START");
}
	
	}
});


PrzyciskWykonanoCwiczenie1 = new JButton("Wykonano");

etykietaCwiczenie1 = new JLabel("\u0106WICZENIE nr 1");



GroupLayout gl_panPrzebieguCwiczen1 = new GroupLayout(panPrzebieguCwiczen1);
gl_panPrzebieguCwiczen1.setHorizontalGroup(
	gl_panPrzebieguCwiczen1.createParallelGroup(Alignment.LEADING)
		.addGroup(gl_panPrzebieguCwiczen1.createSequentialGroup()
			.addContainerGap()
			.addGroup(gl_panPrzebieguCwiczen1.createParallelGroup(Alignment.LEADING)
				.addGroup(gl_panPrzebieguCwiczen1.createSequentialGroup()
					.addGroup(gl_panPrzebieguCwiczen1.createParallelGroup(Alignment.TRAILING)
						.addComponent(PrzyciskWykonanoCwiczenie1, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 146, Short.MAX_VALUE)
						.addComponent(progressBarCwiczenie1, Alignment.LEADING, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
					.addPreferredGap(ComponentPlacement.RELATED)
					.addGroup(gl_panPrzebieguCwiczen1.createParallelGroup(Alignment.LEADING)
						.addComponent(textFieldCwiczenie1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
						.addGroup(gl_panPrzebieguCwiczen1.createSequentialGroup()
							.addComponent(textFieldLicznikPowtorzenCwiczenie1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
							.addPreferredGap(ComponentPlacement.RELATED)
							.addComponent(etykietaIloscWykonanychSeriiCwiczenie1)))
					.addGap(114))
				.addGroup(gl_panPrzebieguCwiczen1.createSequentialGroup()
					.addGroup(gl_panPrzebieguCwiczen1.createParallelGroup(Alignment.TRAILING)
						.addComponent(ToggleButtonStartStopCwiczenie1, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
						.addComponent(comboBoxCwiczenie1, Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 321, GroupLayout.PREFERRED_SIZE))
					.addContainerGap(109, Short.MAX_VALUE))
				.addGroup(gl_panPrzebieguCwiczen1.createSequentialGroup()
					.addComponent(etykietaCwiczenie1)
					.addContainerGap(295, Short.MAX_VALUE))))
);
gl_panPrzebieguCwiczen1.setVerticalGroup(
	gl_panPrzebieguCwiczen1.createParallelGroup(Alignment.LEADING)
		.addGroup(gl_panPrzebieguCwiczen1.createSequentialGroup()
			.addGap(15)
			.addComponent(etykietaCwiczenie1)
			.addPreferredGap(ComponentPlacement.RELATED)
			.addComponent(comboBoxCwiczenie1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
			.addPreferredGap(ComponentPlacement.RELATED)
			.addGroup(gl_panPrzebieguCwiczen1.createParallelGroup(Alignment.LEADING, false)
				.addComponent(progressBarCwiczenie1, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
				.addComponent(textFieldCwiczenie1))
			.addPreferredGap(ComponentPlacement.RELATED)
			.addGroup(gl_panPrzebieguCwiczen1.createParallelGroup(Alignment.BASELINE)
				.addComponent(PrzyciskWykonanoCwiczenie1)
				.addComponent(textFieldLicznikPowtorzenCwiczenie1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
				.addComponent(etykietaIloscWykonanychSeriiCwiczenie1))
			.addPreferredGap(ComponentPlacement.RELATED)
			.addComponent(ToggleButtonStartStopCwiczenie1, GroupLayout.PREFERRED_SIZE, 45, GroupLayout.PREFERRED_SIZE)
			.addContainerGap(139, Short.MAX_VALUE))
);
panPrzebieguCwiczen1.setLayout(gl_panPrzebieguCwiczen1);
	    
}	
}


1

ciekaw jestem czy ktoś się odważy rozkminiać kod generowany przez netbeansa :)
proszę

GroupLayout gl_panPrzebieguCwiczen1 = new GroupLayout(this);

1 użytkowników online, w tym zalogowanych: 0, gości: 1