Hallo cih habe da ein kleines Problem. Ich möchte einleines Programm schreiben. Dabei soll ein fenster immer mein Hintergrund bleiben. Hier der Quellcode
als nächstes möchte ich gerne ds hier erstellte Panel
auf das vorherige Fenster malen/setzen.
Meine Main ist hier noch
vieln Dank schon einmal im vorraus
Weichei
Code:
import java.awt.DisplayMode;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import javax.swing.JFrame;
public class Hauptfenster extends JFrame {
GraphicsDevice d;
JFrame HF = new JFrame();
public Hauptfenster(){
//add(new NeuerSpieler());
d=GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
HF.setUndecorated(true);
d.setFullScreenWindow(HF);
d.setDisplayMode(new DisplayMode(800,600,32,0));
HF.setTitle("Hauptfenster und später Spielename");
}
}
Code:
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.JTextField;
import javax.swing.SpinnerNumberModel;
public class NeuerSpieler extends JPanel implements ActionListener {
JLabel lSpielername = new JLabel("Spielername");
JLabel lGangname = new JLabel("Name deiner Gang");
JTextField tSpielername = new JTextField(20);
JTextField tGangname = new JTextField(20);
JLabel lStaerke = new JLabel("Stärke");
JLabel lGeschick = new JLabel("Geschicklichkeit");
JLabel lIntelligenz = new JLabel("Intelligenz");
JLabel lGesundheit = new JLabel("Gesundheit");
JLabel lCharisma = new JLabel("Charisma");
JLabel lAusdauer = new JLabel("Ausdauer");
//SpinnerNumberModel benötigt vier Werte: Startwert(wird zu Beginn angezeigt), Start, Ende, Angabe
wie groß die Sprünge sind
JSpinner spStaerke = new JSpinner(new SpinnerNumberModel(10,10,14,1));
JSpinner spGeschick = new JSpinner(new SpinnerNumberModel(10,10,14,1));
JSpinner spIntelligenz = new JSpinner(new SpinnerNumberModel(10,10,14,1));
JSpinner spGesundheit = new JSpinner(new SpinnerNumberModel(10,10,14,1));
JSpinner spCharisma = new JSpinner(new SpinnerNumberModel(10,10,14,1));
JSpinner spAusdauer = new JSpinner(new SpinnerNumberModel(10,10,14,1));
JButton bNeu= new JButton("Erstellen");
JButton bBeenden = new JButton("Beenden");
JPanel pNeSp = new JPanel();
public NeuerSpieler(){
//super("NeuerSpieler");
pNeSp.setLayout(new GridLayout(10,2,20,20));
pNeSp.setBackground(new Color(255,64,64));
bNeu.addActionListener(this);
bBeenden.addActionListener(this);
//setLayout(null);
pNeSp.add(lSpielername);
pNeSp.add(tSpielername);
pNeSp.add(lGangname);
pNeSp.add(tGangname);
pNeSp.add(lStaerke);
pNeSp.add(spStaerke);
pNeSp.add(lGeschick);
pNeSp.add(spGeschick);
pNeSp.add(lIntelligenz);
pNeSp.add(spIntelligenz);
pNeSp.add(lGesundheit);
pNeSp.add(spGesundheit);
pNeSp.add(lCharisma);
pNeSp.add(spCharisma);
pNeSp.add(lAusdauer);
pNeSp.add(spAusdauer);
pNeSp.add(bNeu);
pNeSp.add(bBeenden);
add(pNeSp);
setVisible(true);
}
public void actionPerformed(ActionEvent e){
String cmd = e.getActionCommand();
if(cmd.equals("Erstellen")){
remove(pNeSp);
repaint();
//Slum s = new Slum();
}
if(cmd.equals("Beenden")){
System.exit(0);
}
}
}
auf das vorherige Fenster malen/setzen.
Meine Main ist hier noch
Code:
public class TestMafia{
public static void main(String[] args){
Hauptfenster Hf = new Hauptfenster();
//HF.setTitle("Hauptfenster");
//NeuerSpieler NeSp = new NeuerSpieler();
//Hf.add(NeSp);
//HIER SOLLEN SPÄTER IMMER WIEDER NEUE PANELS AUF DAS FENSTER GEMALT WERDEN
}//Ende main
}//ENDE TestMafia
vieln Dank schon einmal im vorraus
Weichei