Swing Line2D Gdzie jest błąd?

0

Witam!
Robię sobie rekreacyjnie/edukacyjnie programik który ma symulować graficznie rzut poziomy(może potem ukośny).
Chciałem dodać na dole i z boku okna podziałki oznaczające odległość w metrach. Miały to być proste linie Line2D z tym że się nie wyświetlają. Chodzi o horMeterLine i verMeterLine
Prosiłbym o przejrzenie i info gdzie mam błąd.
Aha, dodam jeszcze że korzystam przy tworzeniu z windowbuildera

Kod klasy rysującej:

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Line2D;

import javax.swing.JPanel;

public class DrawComponent extends JPanel {
	private static double scale; // scale = pixels per meter
	
	private static Dimension dsPanelSize; // superior panel size
	
	private Ball ball;
	private Line2D horSpeedLine;
	private Line2D verSpeedLine;
	private Line2D horMeterLine;
	private Line2D verMeterLine;

	/**
	 * Create the panel.
	 */
	public DrawComponent(Dimension d) {
		setLayout(null);
		dsPanelSize = d;
		horMeterLine = new Line2D.Double(20, 20, 20, d.getHeight() - 20);
		verMeterLine = new Line2D.Double(20, d.getHeight() - 20, d.getWidth() - 20, d.getHeight() - 20);
	}

	public void paintComponent(Graphics g) {
		super.paintComponent(g);
		Graphics2D g2 = (Graphics2D) g;
		g2.setColor(Color.BLACK);
		g2.draw(horMeterLine);
		g2.draw(verMeterLine);
	}
	
	public void addBall(Ball b) {
		ball = b;
	}
}
0

A gdzie ustawiasz rozmiar panelu? Brakuje (w konstruktorze klasy DrawComponent)

setPreferredSize(d);

Moim zdaniem

setLayout(null);

w panelu, w którym się tylko rysuje, jest zbyteczne.

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