Ich muss ein Diagramm über ein JPanel zeichnen durch Überschreiben der JPanel paintComponent() -Methode.Zeichnen über ein JPanel und Hinzufügen der JPanel zu JFrame
Beim Entwerfen von GUI mit Netbeans, wenn ich ein JPanel über JFrame ziehen/ablegen, erzeugt es Code, indem es eine private Variable, JPanel-Objekt, erstellt. In so einem Fall kann ich seine Methode überschreiben, um darüber zu zeichnen ...
oder wenn ich Code für eine Klasse schreibe, indem ich das JPanel erweitere und die Methode überschreibe, um es zu malen, muss ich einen neuen JFrame erstellen und füge das JPanel hinzu.
JFrame fr = new JFrame(); fr.add (Scheibe); // Fenster ist das Objekt der Klasse, die JPanel erweitert, wo ich zeichne fr.setVisible (true);
In diesem Fall funktioniert es ..
Aber wenn ich eine Referenz der automatisch erstellten Klasse erhalten, die JFrame von Netbeans und verwenden, die erweitert die JPanel mit der Add-Methode der Verweis hinzuzufügen habe es doesn‘ t Arbeit ...
class x extends JPanel
{
paintComponent(Graphics g){ //overridden method
//my code for drawing say lines goes here..
}
}
class y extends Thread
{
z obj;
y(z obj){
this.obj=obj;
}
public void run(){
x pane=new x();
pane.setVisible(true);
obj.add(pane);
obj.setVisible(true); //im not getting the pane visible here.. if i created a new JFrame class here as i said earlier and added the pane to it i can see it..
}
}
class z extends JFrame
{
z(){//code generated by netbeans}
public static void main(String args[])
{
new y(new z()).start();
}
}
Es zeigt keine Fehler, aber wenn ich das Programm laufen nur die JFrame sichtbar ist .. JPanel ist nicht gezeigt ...
Pardon, wenn die Frage dumm ist .. im ein Anfänger ..
Vielen Dank im Voraus ...