Hallo,
ich würde gerne in einem JFrame ein paar Linien zeichnen, dafür habe ich ein JPanel Objekt erzeugt und versuch bin paintComponent etwas zu zeichnen, es hat allerdings nicht funktioniert.
Was habe ich falsch gemacht?
Klasse Oberflaeche:
Klasse Steuerung:
ich würde gerne in einem JFrame ein paar Linien zeichnen, dafür habe ich ein JPanel Objekt erzeugt und versuch bin paintComponent etwas zu zeichnen, es hat allerdings nicht funktioniert.
Was habe ich falsch gemacht?
Klasse Oberflaeche:
Code:
import javax.swing.JFrame;
import javax.swing.*;
import java.awt.Graphics;
import java.awt.*;
import java.awt.event.*;
public class Oberflaeche extends JFrame{
Steuerung dieSteuerung;
Graphics linie;
private JFrame frame;
zeichenFlaeche diezeichenFlaeche;
/**
* Launch the application.
*/
/**
* Create the application.
*/
public Oberflaeche(Steuerung pSteuerung) {
dieSteuerung = pSteuerung;
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 1200, 800);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null);
JButton[][] btnFeld = new JButton[3][3];
for(int i=0; i<=2; i++) {
for(int j=0; j<=2; j++) {
btnFeld[i][j]= new JButton();
btnFeld[i][j].setBounds(100+i*10+(i*100),100+j*10+(j*100) , 100, 100);
frame.getContentPane().add(btnFeld[i][j]);
}
}
diezeichenFlaeche = new zeichenFlaeche();
frame.setVisible(true);
}
private class zeichenFlaeche extends JPanel{
@Override
public void paintComponent(final Graphics g) {
super.paintComponent(g);
g.drawLine(100, 200, 300, 400);
}
}
}
Klasse Steuerung:
Code:
import java.awt.EventQueue;
public class Steuerung {
Oberflaeche dieOberflaeche;
public static void main(String[] args) {
Steuerung s;
s = new Steuerung();
/*EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Oberflaeche window = new Oberflaeche();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
*/
}
public Steuerung() {
super();
dieOberflaeche = new Oberflaeche(this);
}
}