Hallo,
mein Programm soll wenn es fertig ist ungefähr so aussehen: Bild vom Programm
Im Moment funktioniert leider nicht viel. Ausgegeben wird ein Fenster welches nur aus einer Schließen-, Maximieren- und einer Minimierenbox besteht. Als Fehler bekomme ich: "illegal component position ".
Der Code schaut wie folgt aus (Den meiner Meinung nach für den Fehler relevanten Code habe ich rot markiert, der Fehler kann natürlich auch woanders liegen.):
Bin für jede Hilfe und auch für jeden Tipp abseits der Fragestellung dankbar. Achja die Frage ist natürlich wo der Fehler liegt und wie ich ihn aus meinem Programm entfernen kann.
mfg hyperion
mein Programm soll wenn es fertig ist ungefähr so aussehen: Bild vom Programm
Im Moment funktioniert leider nicht viel. Ausgegeben wird ein Fenster welches nur aus einer Schließen-, Maximieren- und einer Minimierenbox besteht. Als Fehler bekomme ich: "illegal component position ".
Der Code schaut wie folgt aus (Den meiner Meinung nach für den Fehler relevanten Code habe ich rot markiert, der Fehler kann natürlich auch woanders liegen.):
Code:
package weltsimulation;
//Verwendete Packete.
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
public class Weltbauer extends JFrame {
//Instanzvariablen der Klasse Main.
JPanel JPanel_Ueberschrift, JPanel_Center, JPanel_unten, JPanel_Rahmen;
JPanel JPanel_Tab1, JPanel_Tab2, JPanel_Tab3;
JLabel JLabel_Ueberschrift, JLabel_Status;
JTabbedPane JTabbedPane_Tabfenster;
int Aufloesungx = 1024;
int Aufloesungy = 860;
//Konstruktoren.
Weltbauer()
{
//Eigenschaften der Weltbauerinstanz setzen.
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setLocationByPlatform(true);
setPreferredSize(new Dimension(Aufloesungx, Aufloesungy));
getContentPane().setBackground(Color.white);
//Komponenten mit Eigenschaften erstellen.
//Äußerster Rahmen innerhalb des JFrames.
//Rahmenstärke: 2 Rahmenfarbe: Rot.
//Hintergrundfarbe: Weis.
//Bevorzugte Größe: Maximalwert minus 100.
//===>Überall 50 Abstand zum Ende des GUI.
JPanel_Rahmen = new JPanel();
JPanel_Rahmen.setBorder(new LineBorder(Color.RED, 2));
JPanel_Rahmen.setBackground(Color.white);
JPanel_Rahmen.setPreferredSize(
new Dimension(
(int)JPanel_Rahmen.getMaximumSize().getWidth() - 100,
(int)JPanel_Rahmen.getMaximumSize().getHeight() - 100));
//Oberer Rahmen.
//Rahmenstärke: 2 Rahmenfarbe: Blau.
//Hintergrundfarbe: Weis.
//Bevorzugte Breite: Breite von JPanel_Rahmen.
//Bevorzugte Höhe: 30.
JPanel_Ueberschrift = new JPanel();
JPanel_Ueberschrift.setBorder(new LineBorder(Color.blue, 2));
JPanel_Ueberschrift.setBackground(Color.white);
JPanel_Ueberschrift.setPreferredSize(new Dimension
(JPanel_Rahmen.getWidth() - 10, 30));
//Überschrift: "Überschrift".
//Hintergrundfarbe: Weis.
JLabel_Ueberschrift = new JLabel("Überschrift");
JLabel_Ueberschrift.setBackground(Color.white);
//Mittlerer Rahmen.
//Rahmenstärke: 2 Rahmenfarbe: Blau.
//Hintergrundfarbe: Weis.
//Bevorzugte Größe: maximale Größe.
JPanel_Center = new JPanel();
JPanel_Center.setBorder(new LineBorder(Color.blue, 2));
JPanel_Center.setBackground(Color.white);
JPanel_Center.setPreferredSize(JPanel_Center.getMaximumSize());
//TabbedPane.
//Hintergrundfarbe: Weis.
JTabbedPane_Tabfenster = new JTabbedPane();
JTabbedPane_Tabfenster.setBackground(Color.white);
//Tab1.
//Hintergrundfarbe: Weis.
//Bevorzugte Größe: maximale Größe.
JPanel_Tab1 = new JPanel();
JPanel_Tab1.setBackground(Color.white);
JPanel_Tab1.setPreferredSize(getMaximumSize());
//Tab2.
//Hintergrundfarbe: Weis.
//Bevorzugte Größe: maximale Größe.
JPanel_Tab2 = new JPanel();
JPanel_Tab2.setBackground(Color.white);
JPanel_Tab2.setPreferredSize(getMaximumSize());
//Tab3.
//Hintergrundfarbe: Weis.
//Bevorzugte Größe: maximale Größe.
JPanel_Tab3 = new JPanel();
JPanel_Tab3.setBackground(Color.white);
JPanel_Tab3.setPreferredSize(getMaximumSize());
//Unterer Rahmen.
//Rahmenstäke: 2, Rahmefarbe: Blau.
//Hintergrundfarbe: Weis.
//Bevorzugte Breite: Breite von JPanel_Rahmen.
//Bevorzugte Höhe: 30.
JPanel_unten = new JPanel();
JPanel_unten.setBorder(new LineBorder(Color.blue, 2));
JPanel_unten.setBackground(Color.white);
JPanel_unten.setPreferredSize(new Dimension
(JPanel_Rahmen.getWidth(), 30));
//Status: "Test Status".
//Hintergrundfarbe: Weis.
JLabel_Status = new JLabel("Test Status");
JLabel_Status.setBackground(Color.white);
////////////////////////////////////////////////////////////////////////
//Layout der Komponenten bestimmen und Komponenten zuweisen.
JPanel_Ueberschrift.setLayout(new FlowLayout());
JPanel_Ueberschrift.add(JLabel_Ueberschrift, FlowLayout.LEFT);
JTabbedPane_Tabfenster.add("Allgemeines", JPanel_Tab1);
JTabbedPane_Tabfenster.add("inaktive Komponenten", JPanel_Tab2);
JTabbedPane_Tabfenster.add("aktive Komponenten", JPanel_Tab3);
JPanel_Center.setLayout(new BorderLayout());
JPanel_Center.add(JTabbedPane_Tabfenster, BorderLayout.CENTER);
JPanel_unten.setLayout(new FlowLayout());
JPanel_unten.add(JLabel_Status, FlowLayout.LEFT);
JPanel_Rahmen.setLayout(new BorderLayout());
JPanel_Rahmen.add(JPanel_Ueberschrift, BorderLayout.NORTH);
JPanel_Rahmen.add(JPanel_Center, BorderLayout.CENTER);
JPanel_Rahmen.add(JPanel_unten, BorderLayout.SOUTH);
setLayout(new BorderLayout());
getContentPane().add(JPanel_Rahmen, BorderLayout.CENTER);
pack();
}
public static void main(String[] args)
{
new Weltbauer();
}
public void actionPerformed(ActionEvent event)
{
Welt Erde = new Welt("Erde", 800, 600, Color.CYAN);
}
}
Bin für jede Hilfe und auch für jeden Tipp abseits der Fragestellung dankbar. Achja die Frage ist natürlich wo der Fehler liegt und wie ich ihn aus meinem Programm entfernen kann.
mfg hyperion