Šta je novo?

Java problem sa JFrame, JPanel i JDialog

jddipqd

Čuven
Učlanjen(a)
17.10.2000
Poruke
2,621
Poena
725
Imam otprilike ovakav sistem klasa:

Kod:
public class Frejm extends JFrame {
	public static Frejm inst;
	public PPanel obj;
	public static void main(String[] args) {
		inst = new Frejm();
	}
	Frejm() {
		obj = new PPanel();
		this.getContentPane().add(obj, BorderLayout.CENTER);
	}
}

public class Dijalog extends JDialog {
	JFrame frame
	Dijalog(JFrame frame) {
		super(frame);
		this.frame = frame;
	}
}

public class PPanel extends JPanel {
...
	// U nekom trenutku se pozove
	new Dijalog(Frejm.inst);
...
}
Ovo radi kako treba.
Međutim, ako u konstruktor za Dijalog dodam this.setModal(true); paintComponent metoda klase PPanel baca NullPointerException.
Zašto? Kako rešiti ovo?
 
zasto ne samo:
public class Dijalog extends JDialog {
Dijalog(JFrame frame, boolean modal) {
super(frame, modal);
}
}

imas konstruktor JDialog-a koji kao parametar uzima i boolean koji pokazuje da li je modalan
 
Svejedno je. I ova varijanta baca isti izuzetak. Zaboravio sam da dodam da se izuzetak baca samo dok je Dijalog otvoren. Kada se zatvori, program normalno nastavlja sa radom.
Pretpostavljam da je problem u tome što otvoren modalni prozor ne dozvoljava paintComponent metodi da iscrta PPanel.
 
ajde baci klasu kao attachment, bas ocu da pogledam. istu stvar sam radio x puta i nikad nisam imao slican problem
 
Da samo kažem da sam rešio problem tako što sam uveo promenljivu koja se setuje na true pre kreiranja dijaloga, i koja sprečava izvršavanje spornih linija u paintComponent metodi.
 
Nazad
Vrh Dno