Wie zeichne ich JPanel? (Swing / Grafik Java)

Arbeite ich an einem Projekt, in dem ich versuche, ein paint-Programm.
Bisher habe ich Netbeans verwendet zum erstellen von GUI-und Einrichtung des Programms.

Ab jetzt bin ich in der Lage, um alle die koordinierte notwendig, um innen zeichnen, aber ich bin sehr verwirrt, wie eigentlich die Farbe innerhalb.

Gegen Ende von meinem code ich habe einen gescheiterten Versuch an der Zeichnung in das panel.

Kann mir jemand erklären/zeigen, wie die Verwendung von Grafiken in einem Beispiel wie diesem?

Alle Beispiele die ich gefunden habe, machen eine Klasse und erweitern Sie mit JPanel aber ich weiß nicht, ob ich kann dies tun, denn es erzeugt wurde in netbeans.

ich brauche innen zeichnen ein JPanel in meinem JFrame. Ich weiß nicht, wohin mit der graphics-Klasse.

JavaPaintUI Klasse

package javapaint;

import java.awt.*;
import javax.swing.*;

public class JavaPaintUI extends javax.swing.JFrame {

public JavaPaintUI() {
    initComponents();
}


private void initComponents() {


    jPanel2 = new javax.swing.JPanel();

    jPanel2.setBackground(new java.awt.Color(255, 255, 255));
    jPanel2.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
    jPanel2.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mousePressed(java.awt.event.MouseEvent evt) {
            jPanel2MousePressed(evt);
        }
        public void mouseReleased(java.awt.event.MouseEvent evt) {
            jPanel2MouseReleased(evt);
        }
    });
    jPanel2.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
        public void mouseDragged(java.awt.event.MouseEvent evt) {
            jPanel2MouseDragged(evt);
        }
    });
    pack();
}//</editor-fold>                        

int currentX, currentY, oldX, oldY;

private void jPanel2MouseDragged(java.awt.event.MouseEvent evt) {                                     
    if (tool == 1) {
        currentX = evt.getX();
        currentY = evt.getY();
        oldX = currentX;
        oldY = currentY;
        System.out.println(currentX + " " + currentY);
        System.out.println("PEN!!!!");
    }

}                                    

private void jPanel2MousePressed(java.awt.event.MouseEvent evt) {                                     
    oldX = evt.getX();
    oldY = evt.getY();
    System.out.println(oldX + " " + oldY);
}                                    


//mouse released//
private void jPanel2MouseReleased(java.awt.event.MouseEvent evt) {                                      
    if (tool == 2) {
        currentX = evt.getX();
        currentY = evt.getY();
        System.out.println("line!!!! from" + oldX + "to" + currentX);
    }
}                                     

//set ui visible//
public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {

        public void run() {
            new JavaPaintUI().setVisible(true);
        }
    });
}

//Variables declaration - do not modify                     
private javax.swing.JPanel jPanel2;
//End of variables declaration                   

class jPanel2 extends JPanel {

    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);

        g.drawString("BLAH", 20, 20);
        g.drawRect(200, 200, 200, 200);
    }
}
}

Screenshot

Die ganze Sache ist ein JFrame und den weißen Bereich in der Mitte ist jPanel2 was ich zeichnen will.
Wie zeichne ich JPanel? (Swing /Grafik Java)

InformationsquelleAutor der Frage Nick R | 2011-05-25

Schreibe einen Kommentar