Hallo, ich stehe mal wieder auf dem Schlauch...
Undzwar habe ich eine Klasse die ein JFrame erstellt.
Wenn ich die paint() Methode sieht das Frame so aus:
Mit "eingeschalteter" paint() Methode so, also das Panel mit Buttons oben verschwindet immer:
Mein Ziel ist es aber, beides zu kombinieren, also das Panel und das Gitter, wie geht das dann?
Undzwar habe ich eine Klasse die ein JFrame erstellt.
Wenn ich die paint() Methode sieht das Frame so aus:

Mit "eingeschalteter" paint() Methode so, also das Panel mit Buttons oben verschwindet immer:

Mein Ziel ist es aber, beides zu kombinieren, also das Panel und das Gitter, wie geht das dann?
Java:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MainClass extends JFrame {
private static final long serialVersionUID = 1L;
JPanel panel = new JPanel();
JButton load = new JButton("Load");
JButton save = new JButton("Save");
public static void main(String[] args) {
new MainClass();
}
public MainClass() {
setTitle("Map Editor");
setLayout(null);
setBounds(100, 100, 500, 550);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel.setBounds(0, 0, 500, 40);
panel.setBackground(Color.darkGray);
load.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
}
} );
panel.add(load);
save.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
}
} );
panel.add(save);
add(panel);
setVisible(true);
}
public void paint(Graphics g) {
for (int x = getInsets().left; x <= 400 + getInsets().left; x = x + 20)
g.drawLine(x, 100 + getInsets().top, x, 500 + getInsets().top);
for (int y = getInsets().top + 100; y <= getInsets().top + 500; y = y + 20)
g.drawLine(getInsets().left, y, getInsets().left + 400, y);
grid = false;
repaint();
}
}