Hallo Leute,
ich und ein Kumpel versuchen ein kleines Spielchen zu basteln, wobei wir jetzte an einen Problem gestoßen sind wo wir nicht weiter kommen. Internet und dieses Forum hab ich schon ausgeguckt, aber leider nichts gefunden was zum zusagt.
Und zwar wollen wir mit mehreren JPanels (drei) die im ContentPane sind, wobei nur mache Objekte sichtbar sein sollen. Was zusammen das GUI werden soll. Die Berechnungen das Spieles gehen schon, aber an der Oberfläche hängt es noch.
Wenn man von oben nach unter sieht(vom Bildschirm betrachtet),sieht man in dem untersten JPanel Menüleisten, ein Spielnavigator mit Buttons und Bildern, eine Textarea(die eine Art Konsole für die Spieler sein soll) und das Spielfeld.
Auf dem mittlerem JPanel sollen nur Symbole(icons) sein die mit der Klasse icongen, jedes mal wenn man eines brauch an einer bestimmten stelle dort erzeugt werden und wenn sie nicht mehr gebracht werden, gelöscht werden.
Auf der obersten kommen dann nur noch 2 Markierungen, welche nur dazu dienen an zu zeigen welche Symbole man auf dem mittlerem JPanel angeklickt hat.
Das Problem ist jetzte das wir es nicht hin kriegen das mehrere JPanels gleichzeitig übereinander angezeigt werden(bzw. ihre Objekte). Sondern das sobald wir ein weiteres JPanel hinzufügen nicht zusehen ist außer der Hintergrundfarbe.
Den ganzen Quelltext werde ich jetzte nicht euch zeigen(weil es so ca. 900 Zeilen sind), nur wo wir bei der Darstellung nicht weiter kommen.
Klasse fvi:
Klasse icongen (mit einem Icontest):
Wir wäre sehr froh und sehr dankbar wenn ihr uns einen Tipp, Denkanstoß oder Fehlerhinweis geben könntet.
MfG The Black Hand
ich und ein Kumpel versuchen ein kleines Spielchen zu basteln, wobei wir jetzte an einen Problem gestoßen sind wo wir nicht weiter kommen. Internet und dieses Forum hab ich schon ausgeguckt, aber leider nichts gefunden was zum zusagt.
Und zwar wollen wir mit mehreren JPanels (drei) die im ContentPane sind, wobei nur mache Objekte sichtbar sein sollen. Was zusammen das GUI werden soll. Die Berechnungen das Spieles gehen schon, aber an der Oberfläche hängt es noch.
Wenn man von oben nach unter sieht(vom Bildschirm betrachtet),sieht man in dem untersten JPanel Menüleisten, ein Spielnavigator mit Buttons und Bildern, eine Textarea(die eine Art Konsole für die Spieler sein soll) und das Spielfeld.
Auf dem mittlerem JPanel sollen nur Symbole(icons) sein die mit der Klasse icongen, jedes mal wenn man eines brauch an einer bestimmten stelle dort erzeugt werden und wenn sie nicht mehr gebracht werden, gelöscht werden.
Auf der obersten kommen dann nur noch 2 Markierungen, welche nur dazu dienen an zu zeigen welche Symbole man auf dem mittlerem JPanel angeklickt hat.
Das Problem ist jetzte das wir es nicht hin kriegen das mehrere JPanels gleichzeitig übereinander angezeigt werden(bzw. ihre Objekte). Sondern das sobald wir ein weiteres JPanel hinzufügen nicht zusehen ist außer der Hintergrundfarbe.
Den ganzen Quelltext werde ich jetzte nicht euch zeigen(weil es so ca. 900 Zeilen sind), nur wo wir bei der Darstellung nicht weiter kommen.
Klasse fvi:
Java:
import java.awt.*;
import java.awt.event.*;
import java.lang.Math.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
public class fvi extends JFrame implements ActionListener, MouseListener
{
// Deklar/Inital [...]
static JTextArea console;
JScrollPane consolenscrollPane;
static JFrame fenster = new JFrame("FvI");
JPanel Inhalt = new JPanel();
Icon x1 = new ImageIcon("pic/leer.gif");
JLabel tfp1 = new JLabel(x1);
Icon mark = new ImageIcon("pic/mark2.gif");
JLabel markLabel = new JLabel(mark);
static Icon mtf = new ImageIcon("pic/menu_turn_fire.gif");
static JLabel mtfLabel = new JLabel(mtf);
static Icon mti = new ImageIcon("pic/menu_turn_ice.gif");
static JLabel mtiLabel = new JLabel(mti);
icongen icons;
public fvi ()
{
/************ Erzeugen eines neuen Fenster *********/
super("FvI"); // super ist der Zugriff auf den Konstruktor der übergeordneten Oberklasse
icons = new icongen();
setContentPane(Inhalt); // Festlegen welches Objekt ContentPane wird
setBackground(new Color(116,116,116)); // stellt die Hintergrundfarbe ein
fenster.setContentPane(Inhalt); // müssen explizit in Pixeln angegeben werden (x,y,Breite, Höhe)
//fenster.setContentPane(icongen.iconFeld);
fenster.setLayout(null); // neues Panel mit "null-Layout" -- alle Positionen und Größen der Elemente
// Menüleiste [ ...]
// Spiele-Navigator [...]
/** Einfügen vom Hauptspielfeld */
Icon feldicon = new ImageIcon("pic/spielfeld.jpg");
JLabel feldLabel = new JLabel(feldicon);
feldLabel.setBounds(202,22,590,376);
tfp1.setBounds(225,82,64,42);
Inhalt.add(tfp1);
markLabel.setBounds(225,82,64,42);
Inhalt.add(feldLabel);
Inhalt.addMouseListener(this);
addMouseListener(this);
fenster.setSize(800, 600); // Größe festlegen (x-Richtung, y-Richtung)
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // schliessbar
fenster.setResizable(false); //fenstergröße fixieren
fenster.setVisible(true); // Fenster sichtbar machen
WindowListener listener = new WindowAdapter() // ein WindowListener wird instanziert und mit eine abstrakte Klasse WindowListener wird mit Methoden gefüllt:
{
public void windowClosing(WindowEvent we)
{System.exit(0);}
};
fenster.addWindowListener(listener); // der listener wird zum JFrame hinzugefügt
}
}
Klasse icongen (mit einem Icontest):
Java:
import java.awt.*;
import java.awt.event.*;
import java.lang.Math.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
public class icongen extends JFrame
{
static JPanel iconFeld = new JPanel();
public icongen()
{
setContentPane(iconFeld);
iconFeld.setOpaque(false);
Icon x1 = new ImageIcon("f1.gif");
JLabel tfp1 = new JLabel(x1);
tfp1.setBounds(305,82,64,42);
iconFeld.add(tfp1);
}
}
Wir wäre sehr froh und sehr dankbar wenn ihr uns einen Tipp, Denkanstoß oder Fehlerhinweis geben könntet.
MfG The Black Hand