Wie "paint" auf JLabels auf einem JPanel?

Habe ich eine Reihe von JLabels, die jeweils einen Brief (per seText()), undurchsichtigen und Hintergrundfarbe auf weiß gesetzt, auf eine JPanel mit einem GridLayout so dass die Etiketten bilden eine Tabelle.
Ich bin dabei eine simple animation, in der Hervorhebung bestimmter Zeilen und Spalten und dann Kreuzung. Ich kann die setBackground() von Etiketten für diesen Zweck, aber dachte, ich hätte mehr "Auswahlmöglichkeiten" wenn ein war in der Lage, einen Graphics Objekt (vielleicht zeichnen Sie einen Kreis um Schnittpunkt, dann löscht ihn).
Ich habe versucht zu verlängern JLabel oder Zeichnung auf der JPanel direkt(über getGraphics() in einer Methode), aber es hat nicht funktioniert, ich denke die Zeichnung ist hinter den Bezeichnungen in diesem Fall. Ich kann nicht herausfinden, wo sollte das "Bild" - code platziert werden, in jedem Fall nichts auf dem Bildschirm erschien.

kurz gesagt, eine Methode wie die folgende, können verwendet werden, um zu zeichnen auf top-labels werden?

sollte es ein JLabel oder JPanel-Methode?

public void drawsomething() {
    Graphics2D g2d = (Graphics2D) getGraphics();
    g2d.fillRect(100, 100, 100, 100);
    }
Ich bin mir nicht 100% sicher, dass genau das, was beeinflussen, die Sie zu erreichen versuchen, aber es klingt, als hättest du am besten bedient, die von der Zeichnung in das JLabel ist paintComponent(...) Methode. Warum nicht erstellen Sie eine sscce und zeigen Sie uns, was Sie versucht haben?
Was ist es, ich bin immer falsch? bitte Bearbeiten Sie die Frage mit SSCCE
Speficially Ausdrücken, was Sie versuchen zu tun, anstatt zu sagen, eine lange Geschichte, bitte.
sorry für die lange story, war nicht beabsichtigt.
was auch immer Sie tun, am Ende, nicht mit getGraphics

InformationsquelleAutor meno | 2012-02-17

Schreibe einen Kommentar