Guten Tag zusammen,
ich habe ein Problem beim Füllen meines GridLayout. Und zwar bekomme ich es einfach nicht hin ein JLabel-Array zu erstellen. Im Prinzip hatte ich vor das dann in jedem Label die Koordinaten des Kästchen steht, aber das ist momentan noch Nebensache. Erstmal möchte ich das er überhaupt Kästchen erstellt.
Hier mein Quellcode:
MfG,
Laiminator92
ich habe ein Problem beim Füllen meines GridLayout. Und zwar bekomme ich es einfach nicht hin ein JLabel-Array zu erstellen. Im Prinzip hatte ich vor das dann in jedem Label die Koordinaten des Kästchen steht, aber das ist momentan noch Nebensache. Erstmal möchte ich das er überhaupt Kästchen erstellt.
Hier mein Quellcode:
Java:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.io.*;
public class MapEdit implements ActionListener
{
private JFrame frame = null;
private JLabel raster[][];
private JButton button1;
private JTextField textfeld1, textfeld2;
public MapEdit()
{
// Fenster anlegen
frame = new JFrame();
frame.setTitle("Größenangabe");
frame.setLayout(new BorderLayout());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Button anlegen
this.textfeld1 = new JTextField("Wieviele Kacheln breit soll die Map sein?");
textfeld1.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mouseClicked(java.awt.event.MouseEvent evt)
{
textfeld1MouseClicked(evt);
}
});
this.textfeld2 = new JTextField("Wieviele Kacheln hoch soll die Map sein?");
textfeld2.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mouseClicked(java.awt.event.MouseEvent evt)
{
textfeld2MouseClicked(evt);
}
});
this.button1 = new JButton("OK");
// Eventhandler für Button zuweisen
this.button1.addActionListener(this);
// Button der Frame hinzufügen
frame.add(this.textfeld1,BorderLayout.NORTH);
frame.add(this.textfeld2,BorderLayout.CENTER);
frame.add(this.button1,BorderLayout.SOUTH);
// Fenster zentrieren
frame.setSize(350,100);
frame.setLocationRelativeTo(null);
// Fenster sichbar machen
frame.setVisible(true);
}
private void textfeld1MouseClicked(java.awt.event.MouseEvent evt)
{
//Textfeld leeren
textfeld1.setText("");
}
private void textfeld2MouseClicked(java.awt.event.MouseEvent evt)
{
//Textfeld leeren
textfeld2.setText("");
}
private void button1Klick()
{
//Auslesen der Textfenster
String breite = textfeld1.getText();
int breit = Integer.parseInt(breite);
String höhe = textfeld2.getText();
int hoch = Integer.parseInt(höhe);
//Ausgabe der Eingaben
System.out.println(breit);
System.out.println(hoch);
//Fenstergröße und Fenstertyp ändern
frame.setTitle("MapEditor");
frame.remove(textfeld1);
frame.remove(textfeld2);
frame.remove(button1);
frame.setSize(800,600);
frame.setLayout(new GridLayout(breit,hoch,0,0));
frame.setLocationRelativeTo(null);
//Array zum Füllen des Rasters
JLabel raster[][] = new JLabel[breit][hoch];
frame.add(raster[][]);
}
public static void main(String[] args)
{
new MapEdit();
}
@Override
public void actionPerformed(ActionEvent e)
{
if(button1 == e.getSource())
{
//...wenn Button gedrückt
button1Klick();
}
}
}
MfG,
Laiminator92