Swing drawLine() zeichnet über Fläche

darkwall

Aktives Mitglied
Hallo,
wünsche allen ein gutes neues Jahr 2025!

Ich habe ein Problem. Ich habe ein JPanel (unten pSP), in dass ich eine JScrollpane (unten mainSP) gesteckt habe in der wiederum ein JLayeredPane (myPanel) ist. Auf diesem lasse ich ein Gitter zeichnen (siehe Screenshot). Komischerweise werden die Linien beim Resizen des Fensters weiter gezeichnet (im Screenshot blau markiert). Wieso das?
Das JPanel (im Code unten das mainSP) habe ich mit dem Designer in Netbeans erzeugt.

Hier der Code, der die Panels etc. erstellt.
Java:
// MyPanel erbt von JPanel
myPanel = new MyPanel(anzahlSpalten, anzahlStunden, this);
// mainSP ist die JScrollpane
mainSP.add(myPanel);
mainSP.setViewportView(myPanel);
// pSP ist das Panel, in das alles rein kommt
pSP.add(mainSP, BorderLayout.CENTER);

Im Konstruktor der JLayeredPane (myPanel) steht dies:
Java:
public MyPanel(int anzahlSpalten, int anzahlStunden, GroupsFrameTest parent) {
        super();
        setLayout(new BorderLayout());
        this.anzahlZeilen = anzahlStunden * 12;
        this.anzahlSpalten = anzahlSpalten;
        setSize(anzahlSpalten * 9, (anzahlZeilen) * 10);
        setPreferredSize(new Dimension(anzahlSpalten * 9, (anzahlZeilen) * 10));
...
    }

Hier lasse ich im MyPanel die Linien zeichnen:
Java:
  @Override
    public void paintComponent(Graphics g2) {

        int yAbstand = PlanerDefaults.MINUTEN_ABSTAND_PIXEL;
        int spaltenBreite = PlanerDefaults.COLWIDTH;

        // senkrechte Striche zeichnen
        for (int col = 0; col < anzahlSpalten + 1; col++) {
            g2.drawLine(col * spaltenBreite, 0, col * spaltenBreite, getHeight());
        }

        // waagrechte Striche zeichnen
        for (int row = 0; row < anzahlZeilen + 1; row++) {
            if (row % 12 == 0) {
                g2.setColor(Color.black);
                g2.drawString(" " + row, 0, row * yAbstand);
            } else {
                g2.setColor(Color.lightGray);
            }

            g2.drawLine(0, row * yAbstand, getWidth(), row * yAbstand);
        }

        drawMarking(g2);

    }

Bin für jede Idee dankbar!
 

Anhänge

  • Linien.png
    Linien.png
    60,3 KB · Aufrufe: 0
Ähnliche Java Themen
  Titel Forum Antworten Datum
S AWT-EventQueue-0 NullPointerExeption bei drawLine AWT, Swing, JavaFX & SWT 5
H drawLine im JFrame FullScreenWindow AWT, Swing, JavaFX & SWT 12
U drawLine mit Tooltip AWT, Swing, JavaFX & SWT 1
J drawLine() auf JFrame funktioniert nicht AWT, Swing, JavaFX & SWT 4
S Frage zu drawLine AWT, Swing, JavaFX & SWT 14
T Label + DrawLine AWT, Swing, JavaFX & SWT 6
G Method drawLine() AWT, Swing, JavaFX & SWT 14
X Durch DrawLine verschwindet das Fenster und die Objekte AWT, Swing, JavaFX & SWT 13
N Alle Pixel-Koordinaten von z.B. g.drawLine(.) speichern AWT, Swing, JavaFX & SWT 7
L Linie mit drawLine auf JPanel AWT, Swing, JavaFX & SWT 7
M drawLine() in JPanel hinzufügen ohne Neuzeichnen AWT, Swing, JavaFX & SWT 3
K drawLine mit Kollisionsabfrage? AWT, Swing, JavaFX & SWT 4
A Repaint unterdrücken bei DrawLine in JPanel AWT, Swing, JavaFX & SWT 4
R drawLine gibt hässliche linie AWT, Swing, JavaFX & SWT 4
I Swing JTable zeichnet kein vertical Grid AWT, Swing, JavaFX & SWT 6
dereki2000 AWT Canvas zeichnet nicht AWT, Swing, JavaFX & SWT 7
M Java zeichnet nicht pixelgenau AWT, Swing, JavaFX & SWT 40
S Kann man erzwingen, dass Java 'zu Ende zeichnet'..? AWT, Swing, JavaFX & SWT 7
L JPanel zeichnet im Konstrukter erzeugten Hintergrund nicht AWT, Swing, JavaFX & SWT 10
F JPanel "zeichnet" keinen Text AWT, Swing, JavaFX & SWT 14
G Swing zeichnet zweites Fenster nicht AWT, Swing, JavaFX & SWT 3
P ... zeichnet erst im zweiten Anlauf AWT, Swing, JavaFX & SWT 10
T Graphics zeichnet nicht AWT, Swing, JavaFX & SWT 2
M 2D-Grafik SWT mit Transform zeichnet ungenau AWT, Swing, JavaFX & SWT 15
H Swing ListCellRenderer einer JList zeichnet sporadisch falsch AWT, Swing, JavaFX & SWT 6
N JPanel zeichnet nicht AWT, Swing, JavaFX & SWT 6
D Container des JFrame zeichnet sich nicht bei Aufruf von paintAll AWT, Swing, JavaFX & SWT 9
C Programm zeichnet ungenau :-( AWT, Swing, JavaFX & SWT 2
K Graphics-Objekt zeichnet nicht alle Bilder AWT, Swing, JavaFX & SWT 3
M Codeteilung -> Canvas zeichnet nicht mehr AWT, Swing, JavaFX & SWT 40
B View zeichnet Daten aus dem Model ohne Update AWT, Swing, JavaFX & SWT 4
M paint() zeichnet nicht korrekt AWT, Swing, JavaFX & SWT 2
N JPanel zeichnet Inhalt erst nach Größenänderung des JFrames AWT, Swing, JavaFX & SWT 3
F Java zeichnet nicht - Methode wird aber ausgeführt AWT, Swing, JavaFX & SWT 2
I JTextfield senden über Enter AWT, Swing, JavaFX & SWT 1
T Scene wechseln über ManuItem AWT, Swing, JavaFX & SWT 7
I JavaFX - Pane wechseln über 2. Controller AWT, Swing, JavaFX & SWT 5
melaniemueller Layout wechseln über RadioButtons AWT, Swing, JavaFX & SWT 4
melaniemueller Verschiebung eines Fensters über Button AWT, Swing, JavaFX & SWT 27
A Swing ProgressBar über 2 parallel laufende Threads AWT, Swing, JavaFX & SWT 2
A Layoutwechsel über RadioButtons AWT, Swing, JavaFX & SWT 3
CptK windowClosed() nur aufrufen, wenn Fenster nicht über Button geschlossen wird AWT, Swing, JavaFX & SWT 1
missy72 JavaFX Performance / ImageView in TableView über TimeLine AWT, Swing, JavaFX & SWT 1
T TableView über Methode befüllen AWT, Swing, JavaFX & SWT 10
J Spielfelder auch über die Tastatureingabe (1…9) ansteuern (Tic Tac Toe) AWT, Swing, JavaFX & SWT 2
M Eine Datei auf den Apache Server hochladen - über das Menü im JavaProgramm AWT, Swing, JavaFX & SWT 7
C Swing Aufruf der Funktion (die ein Dialog anzeigt) über Symbol anzeigen lassen AWT, Swing, JavaFX & SWT 4
G LayoutManager Panels anordnen über Schleifenvariablen AWT, Swing, JavaFX & SWT 7
F Verzeichnis über GUI erstellen AWT, Swing, JavaFX & SWT 2
T GUI über Tastatur bedienen AWT, Swing, JavaFX & SWT 3
OSchriever Layout über Radiobuttons ändern AWT, Swing, JavaFX & SWT 4
L JavaFX TreeView Edit Mode über F2 AWT, Swing, JavaFX & SWT 13
J Schriftart über einen Button ändern AWT, Swing, JavaFX & SWT 1
CptK Swing DropdownMenu über Panel-Grenzen hinaus anzeigen AWT, Swing, JavaFX & SWT 1
A 2D-Grafik Zeichen werden über unabhängingen JRadioButton nicht gefüllt AWT, Swing, JavaFX & SWT 28
S JavaFX Fenster aufkommen lassen, wenn mit der Maus über bestimmten Bereich fahren AWT, Swing, JavaFX & SWT 1
I Bild über FXML (ImageView, Image) anzeigen AWT, Swing, JavaFX & SWT 1
xYurisha JLabel Text einer geöffneten Gui über eine andere Klasse ändern! AWT, Swing, JavaFX & SWT 3
S Swing Rechteck über JTable zeichnen (per MouseListener) AWT, Swing, JavaFX & SWT 1
C JavaFX ScrollPane schießt über das Ziel hinaus... AWT, Swing, JavaFX & SWT 1
stroggi Swing Mehrere transparentes Objekte (Grafiken) über einem Bild (JLabel) darstellen AWT, Swing, JavaFX & SWT 4
R Ausgabe über JOptionPane.showMessageDialog funktioniert nicht AWT, Swing, JavaFX & SWT 2
L JavaFX button über andere Klasse ändern AWT, Swing, JavaFX & SWT 7
K über Button andere Java Klasse aufrufen AWT, Swing, JavaFX & SWT 15
T .jar-Datei lässt sich unflexibler ausführen als über die IDE AWT, Swing, JavaFX & SWT 11
C Applet Zeichnen über Button-Click AWT, Swing, JavaFX & SWT 13
L JavaFX Hover Effekt über das Parent Element AWT, Swing, JavaFX & SWT 4
C JavaFX GUI - Entscheidung über Framework AWT, Swing, JavaFX & SWT 4
A Swing Gemaltes Bild über saveDialog speichern unter AWT, Swing, JavaFX & SWT 15
L Dynamischer Aufbau einer Tabelle über Objekte AWT, Swing, JavaFX & SWT 2
N JButton über benutzerdefinierte paintComponent setzen AWT, Swing, JavaFX & SWT 3
S AWT Daten über TextField und Button in array speichern AWT, Swing, JavaFX & SWT 5
T Klasse über JButton schließen AWT, Swing, JavaFX & SWT 4
Augenblau JavaFX Externe Schriftart über CSS ansprechen und zuweisen AWT, Swing, JavaFX & SWT 5
T Generische Klasse in JList über DefaultListModel AWT, Swing, JavaFX & SWT 1
Z JAVAFX Stage über Controller weitergeben um css-file zu laden AWT, Swing, JavaFX & SWT 4
Z Absolutes Layout / Kontrolle über Anordnung AWT, Swing, JavaFX & SWT 3
wolfgang63 JavaFX Zugriff auf Guiobjekte die über FXML erstellt wurden AWT, Swing, JavaFX & SWT 2
O JTextfield wird über'drawed'.. AWT, Swing, JavaFX & SWT 6
K JavaFX Fenster aufrufen über Menü AWT, Swing, JavaFX & SWT 1
J JTable aktuallisieren über anderen Frame AWT, Swing, JavaFX & SWT 6
kaoZ Swing JFrame lässt sich nicht über dispose() abbauen AWT, Swing, JavaFX & SWT 0
P Vorteile von Tooltip nutzen (wird über allen anderen Objekten angezeigt) AWT, Swing, JavaFX & SWT 3
elischa JFrame über mehrere JPanel und Listener AWT, Swing, JavaFX & SWT 17
B Swing Borderlayout East über North AWT, Swing, JavaFX & SWT 5
D Swing Letzte Zeile einer JTable nicht über RowSorter sotieren AWT, Swing, JavaFX & SWT 2
C Methode über Buttonklick starten AWT, Swing, JavaFX & SWT 8
P Swing Panel-austausch über einen MenuListener AWT, Swing, JavaFX & SWT 2
M JLabel über JButtons zeichnen AWT, Swing, JavaFX & SWT 4
P Swing Button über gesamtes Panel AWT, Swing, JavaFX & SWT 2
3 JDialog über einem Vollbildfenster anzeigen AWT, Swing, JavaFX & SWT 5
K GUI Elemente über eine separate Textdatei beschriften? AWT, Swing, JavaFX & SWT 4
A Bild über Imageviewer auf GUI anzeigen AWT, Swing, JavaFX & SWT 3
K 2D-Grafik Kontrastanpassung über einen JSlider AWT, Swing, JavaFX & SWT 2
G JScrollPane über JScrollPane AWT, Swing, JavaFX & SWT 2
L Button über/auf JTextField AWT, Swing, JavaFX & SWT 5
A Swing JTable wird nicht über zurückegebene Referenz geaddet.Wieso nicht? AWT, Swing, JavaFX & SWT 5
D JTextField über ein Game AWT, Swing, JavaFX & SWT 11
K Action Listener implementieren über Objekt AWT, Swing, JavaFX & SWT 14
bluerob Fehler bei Wertübermittlung über KeyListener AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben