Hallo!
Viele Tuts benutzen die Graphics g in einer Klasse. Meine Frage ist. Kann ich die Graphics g in einer Klasse für sich behalten und in anderen Klassen zusätzlich mit meinen Methoden "schmücken" oder "füttern" oder erweitern???
Also quasi so:
Die klasse mit der Graphics g:
und z.B. eine andere Klasse:
So. Wie ist es nun möglich, dass meine 2te Klasse mit dem Parameter g der 1. Klasse in der auch die Graphics g drinne ist umgehen kann???
Danke.
Viele Tuts benutzen die Graphics g in einer Klasse. Meine Frage ist. Kann ich die Graphics g in einer Klasse für sich behalten und in anderen Klassen zusätzlich mit meinen Methoden "schmücken" oder "füttern" oder erweitern???
Also quasi so:
Die klasse mit der Graphics g:
Code:
import java.awt.Graphics;
public class DrawLines extends Grafik {
public void paintComponent( Graphics g )
{
this.paintComponent( g );
g.drawOval( 20, 20, 100, 100 );
// ...
}
}
und z.B. eine andere Klasse:
Code:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Grafik extends JFrame implements MouseListener, MouseMotionListener{
protected static JFrame a = new JFrame();
protected static JPanel p = new JPanel();
protected DrawLines dl;
public static void main (String[] args){
Grafik s = new Grafik();
}
public Grafik(){
a.setSize(new Dimension(500,500));
a.setDefaultCloseOperation(a.EXIT_ON_CLOSE);
a.setTitle("Test");
a.addMouseListener(this);
p.setSize(new Dimension(500,500));
p.setBackground(Color.red);
p.setVisible(true);
a.add(p);
a.setVisible(true);
}
public void mouseClicked(MouseEvent e){
if (e.getClickCount() == 1){
// hier möchte ich gerne auf die g zugreifen können, aber wie??
}
}
public void mouseReleased(MouseEvent e){
}
public void mousePressed(MouseEvent e){
}
public void mouseExited(MouseEvent e){
}
public void mouseEntered(MouseEvent e){
}
public void mouseDragged(MouseEvent e){
}
public void mouseMoved(MouseEvent e){
}
}
So. Wie ist es nun möglich, dass meine 2te Klasse mit dem Parameter g der 1. Klasse in der auch die Graphics g drinne ist umgehen kann???
Danke.