Brak rysowania na oknie wygenerowanym przez WindowBuilder.

0

Witam.

Problem wygląda tak że rysowanie fajnie działa, gdy sam tworzę okno, ale gdy okno tworzę przez windowbuildera to już nie działa. Gdyby ktoś mógł zobaczyć w czym problem.

Główna klasa okna wygenerowana przez WindowBuildera:

public class MainWindow extends JFrame 
{

	private JPanel contentPane;
	private Component conp = new Component();
	public static void main(String[] args) 
	{
		EventQueue.invokeLater(new Runnable() 
		{
			public void run() 
			{
				try {
					MainWindow frame = new MainWindow();
					frame.setVisible(true);
				} catch (Exception e) 
				{
					e.printStackTrace();
				}
			}
		});
	}
	
  MainWindow() 
  {
	  	setLocationByPlatform(true);
	  	Toolkit kit = Toolkit.getDefaultToolkit();
	  	Dimension ScreenSize = kit.getScreenSize();
	  	setSize(ScreenSize.width-200,ScreenSize.height-200);
	  	setResizable(false);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		contentPane = new JPanel();
		contentPane.add(conp);
		setContentPane(contentPane);
	
	
	}

}

I klasa dziedzicząca z JComponenet:

public class Component extends JComponent
{
	Image image = new ImageIcon("java.png").getImage();
	public void paintComponent(Graphics g)
	{
		Graphics2D g2d = (Graphics2D) g;
		Line2D lina = new Line2D.Double(1500.0,0.0,1500.0,880.0);
		g2d.draw(lina);
		g2d.drawImage(image,0,0,700,700,null);
	}
}
1

Cały kod, który zamieściłeś jest generowany przez WindowBuildera?
Zamień

contentPane = new JPanel();
contentPane.add(conp);
setContentPane(contentPane);

na

getContentPane().add(conp);

lub na

add(conp);
0

Tak masz racje problem był z tym:

contentPane = new JPanel();
contentPane.add(conp);
setContentPane(contentPane);

Ale nic z tym nie musiałem kombinować po prostu usunąłem to i teraz wszystko jest ok po dodaniu

add(conp)

Przedtem nic nie działało.. próbowałem add(conp), this.add(conp)

 i nic. W sumie nie wiem po co WindowBuilder tworzy to contentPane.

Kod był wygenerowany przez WindowBuildera, zmieniłem tylko linijkę odpowiedzialna na rozmiary tak aby był dostosowane do rozmiarów pulpitu no i położenie.

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