Swing Diagonal über JLabel

spackman

Mitglied
Hy Leute!

Ich habe zuhause einen LottoClient gebastelt... mit dem entsprechendem Server dazu.

Nun habe ich ein Problem.

Ich habe 45 Labels erstellt, wo ich nun über den Text eine Diagonale zeichne.

Das funktioniert auch, nur weiß ich nicht wie ich mir die Diagonale berechnen kann.

Bitte um Hilfe,

Hier meine überschriebene PaintMethode.

Java:
public class paintJLabel extends JLabel
{
	boolean fChecked = false;
	public void paint(Graphics g)
	{
		super.paint(g);
		if (fChecked)g.drawLine(0,0,5, 5);  // --> Da liegt das Problem, Diagonale?
	}
	
	public void setfChecked()
	{
		fChecked = true;
	}
	public void deletefChecked()
	{
		fChecked = false;
	}
}

Danke für eure hilfe!

mfg
 
Java:
g.drawLine(0, 0, getWidth(), getHeight());
??
Oder wie meinst du das?

Btw: Klassennamen schreibt man groß und bei Swingkomponenten überschreibt man i.d.R. paintComponent

Java:
public class PaintJLabel extends JLabel {
	boolean fChecked;

	public PaintJLabel(String text) {
		super(text);
	}

	public void paintComponent(Graphics g) {
		super.paintComponent(g);
		if (fChecked) {
			g.drawLine(0, 0, getWidth(), getHeight());
		}
	}

	public void setfChecked() {
		fChecked = true;
		repaint();
	}

	public void deletefChecked() {
		fChecked = false;
		repaint();
	}
}
 
Zuletzt bearbeitet:
Cool danke!

Jedoch brauch ich noch eine zweite linie von links nach rechts.

Wie lautet das dann noch

getWidht,getHeight,0,0 ?

mfg

Wie von links nach rechts? Der Code oben malt doch von links oben nach rechts unten?
Meinst du von rechts nach links? =) (also so dass quasi ein X entsteht?)

Dann wäre es bspw.
Code:
g.drawLine(getWidth(), 0, 0, getHeight());
:autsch:
 
Zuletzt bearbeitet:

Zurück
Oben