JAVA mehrer Fenster, bitte Hilfe!!!

Dieses Thema im Forum "Informatik" wurde erstellt von Hawaii84, 5 Dez. 2012.

  1. Hallo Leute,

    hab da ein Problem bei Java. Ich möchte ein Programm schreiben, bei dem sich zuerst ein Fenster öffnet, in diesem will ich Daten eingeben, nach betätigung eines Buttons soll das erste schließen, ein zweites öffnen, wo ich dann die Daten des ersten verwenden kann UND in dem ich zeichnen kann. Dafür möchte ich keine extra Klassen anlegen, sondern es in einer Hauptklasse schreiben. Mit den Unterklassen komme ich nämlich nicht zurecht :D

    Ich habe bisher nur soweit geschafft, dass sich nach betätigen des Buttons das zweite öffnet, das erste schließt, aber das gezeichnete wird im zweiten einfach nicht dargestellt.

    Wenn jemand vielleicht ein Grundgerüsst hierfür hat, wäre das super.
     
  2. Servus,

    du hast doch sicher mindestens mal eine Klasse mit Daten (z.B. Zeichnung) und eine Klasse mit deinem Fenster. Die Klasse Fenster gibt deine Daten aus, wie die aussehen ist relativ egal. Wie speicherst du denn die Daten, die ausgegeben werden sollen?

    Ich verstehe ehrlich gesagt auch nicht ganz was du vor hast. Ich verstehe das so: "Das erste Fenster schließt und das zweite gibt die Daten des ersten aus". Wozu das zweite Fenster?

    Gruß
     
  3. AW: JAVA mehrer Fenster, bitte Hilfe!!!

    ich möchte ein Mensch ärgere Dich nicht programmieren. Im ersten Fenster werden die Namen eingegeben und im zweiten kommt dann das Spielfeld.

    Ich poste mal auf die Gefahr hin ausgelacht zu werden, weil es so wahrscheinlich überhaupt nicht geht, den Quellcode.

    001
    002
    003 import java.io.*;
    004 import java.awt.*;
    005 import java.awt.image.BufferedImage;
    006 import javax.imageio.ImageIO;
    007 import java.awt.event.*;
    008 import javax.swing.Icon;
    009 import javax.swing.ImageIcon;
    010 import javax.swing.JLabel;
    011 import javax.swing.JFrame;
    012 import java.applet.*;
    013
    014 public class Mädn extends Frame
    015 {
    016
    017 Label L = new Label ("Mensch ärgere Dich nicht");
    018 String name[]=new String [3];
    019 Label L1 = new Label ("1. Namen eingeben:");
    020 TextField TF1 = new TextField (30);
    021 Label L2 = new Label ("2. Namen eingeben:");
    022 TextField TF2 = new TextField (30);
    023 Label L3 = new Label ("3. Namen eingeben:");
    024 TextField TF3 = new TextField (30);
    025 Label L4 = new Label ("4. Namen eingeben:");
    026 TextField TF4 = new TextField (30);
    027 Button B1 = new Button("Spielen");
    028
    029 Frame e = new Frame();
    030 Frame f = new Frame();
    031
    032 public Mädn()
    033 {
    034
    035
    036 e.setTitle("Mensch ärgere Dich nicht");
    037 e.setSize(600,400);
    038 e.setResizable(false);
    039 e.setVisible(true);
    040 e.setLayout(null);
    041 e.setBackground(new Color(237,237,237));
    042 e.addWindowListener(new ende());
    043
    044
    045
    046
    047 f.setTitle("Mensch Ärgere Dich Nicht!");
    048 f.setSize(1000,500);
    049
    050 f.setLayout(null);
    051 f.setBackground(new Color(237,237,237));
    052 f.addWindowListener(new ende());
    053
    054 e.add(L);
    055 e.add(L1);
    056 e.add(L2);
    057 e.add(L3);
    058 e.add(L4);
    059 e.add(TF1);
    060 e.add(TF2);
    061 e.add(TF3);
    062 e.add(TF4);
    063 e.add(B1);
    064
    065 L.setFont(new Font( "Times New Roman", Font.BOLD, 30));
    066
    067 L.setBounds(20,20,500,30);
    068 L1.setBounds(150,70,150,20);
    069 L2.setBounds(150,110,150,20);
    070 L3.setBounds(150,150,150,20);
    071 L4.setBounds(150,190,150,20);
    072 TF1.setBounds(300,70,150,20);
    073 TF2.setBounds(300,110,150,20);
    074 TF3.setBounds(300,150,150,20);
    075 TF4.setBounds(300,190,150,20);
    076 B1.setBounds(300,230,150,20);
    077 B1.addActionListener(new Spielfeld());
    078
    079
    080
    081 }
    082
    083 class Spielfeld implements ActionListener
    084 {
    085 public void actionPerformed(ActionEvent h)
    086 {
    087 e.setVisible(false);
    088 f.setVisible(true);
    089 }
    090 }
    091
    092
    093 public static void main(String args[])
    094 {
    095 Mädn g = new Mädn();
    096 }
    097
    098 public void paint(Graphics g)
    099 {
    100 //===================================================================
    101 // --------------------- Eckfelder --------------------------------
    102 //===================================================================
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112 g.setColor(Color.yellow);
    113 g.fillOval(20,40,31,31);
    114 g.fillOval(60,40,31,31);
    115 g.fillOval(20,80,31,31);
    116 g.fillOval(60,80,31,31);
    117 g.setColor(Color.black);
    118 g.drawOval(20,40,30,30);
    119 g.drawOval(60,40,30,30);
    120 g.drawOval(20,80,30,30);
    121 g.drawOval(60,80,30,30);
    122
    123 g.setColor(Color.green);
    124 g.fillOval(380,40,31,31);
    125 g.fillOval(420,40,31,31);
    126 g.fillOval(380,80,31,31);
    127 g.fillOval(420,80,31,31);
    128 g.setColor(Color.black);
    129 g.drawOval(380,40,30,30);
    130 g.drawOval(420,40,30,30);
    131 g.drawOval(380,80,30,30);
    132 g.drawOval(420,80,30,30);
    133
    134 g.setColor(Color.red);
    135 g.fillOval(380,400,31,31);
    136 g.fillOval(420,400,31,31);
    137 g.fillOval(380,440,31,31);
    138 g.fillOval(420,440,31,31);
    139 g.setColor(Color.black);
    140 g.drawOval(380,400,30,30);
    141 g.drawOval(420,400,30,30);
    142 g.drawOval(380,440,30,30);
    143 g.drawOval(420,440,30,30);
    144
    145 g.setColor(Color.black);
    146 g.fillOval(20,400,30,30);
    147 g.fillOval(60,400,30,30);
    148 g.fillOval(20,440,30,30);
    149 g.fillOval(60,440,30,30);
    150
    151 //=================================================================
    152 // ------------------------ Spielfeld ---------------------------
    153 //=================================================================
    154
    155 for(int a=1;a<=56;a=a+1)
    156 {
    157 int b,c;
    158 g.setColor(Color.black);
    159 if(a>=1 & a<=4)
    160 {
    161 if(a==1)
    162 {
    163 g.setColor(Color.yellow);
    164 g.fillOval(20,200,31,31);
    165 g.setColor(Color.black);
    166 g.drawOval(20,200,30,30);
    167 }
    168 b=20+((a-1)*40);
    169 g.drawOval(b,200,30,30);
    170 c=b+30;
    171 g.drawLine(c,215,c+10,215);
    172 }
    173
    174 if(a>=5 && a<=:cool:
    175 {
    176 b=200-((a-5)*40);
    177 g.drawOval(180,b,30,30);
    178 g.drawLine(195,b,195,b-10);
    179 }
    180
    181 if(a>=9 && a<=10)
    182 {
    183 g.drawOval(180,40,30,30);
    184 g.drawLine(210,55,220,55);
    185 g.drawOval(220,40,30,30);
    186 g.drawLine(250,55,260,55);
    187 }
    188 if(a>=11 & a<=14)
    189 {
    190 b=85+(a-11)*40;
    191 g.setColor(Color.green);
    192 g.fillOval(225,b,21,21);
    193 g.setColor(Color.black);
    194 g.drawOval(225,b,20,20);
    195 }
    196
    197 if(a>=15 & a<=1:cool:
    198 {
    199 if(a==15)
    200 {
    201 g.setColor(Color.green);
    202 g.fillOval(260,40,31,31);
    203 g.setColor(Color.black);
    204 g.drawOval(260,40,30,30);
    205 }
    206 b=40+(a-15)*40;
    207 g.drawOval(260,b,30,30);
    208 c=b+30;
    209 g.drawLine(275,c,275,c+10);
    210 }
    211
    212 if(a>=19 & a<=22)
    213 {
    214 b=260+(a-19)*40;
    215 g.drawOval(b,200,30,30);
    216 c=b+30;
    217 g.drawLine(c,215,c+10,215);
    218 }
    219
    220 if(a>=23 & a<=24)
    221 {
    222 g.drawOval(420,200,30,30);
    223 g.drawLine(435,230,435,240);
    224 g.drawOval(420,240,30,30);
    225 g.drawLine(435,270,435,280);
    226 }
    227
    228 if(a>=25 & a<=2:cool:
    229 {
    230 b=385-(a-25)*40;
    231 g.setColor(Color.red);
    232 g.fillOval(b,245,21,21);
    233 g.setColor(Color.black);
    234 g.drawOval(b,245,20,20);
    235 }
    236
    237 if(a>=29 & a<=32)
    238 {
    239 if(a==29)
    240 {
    241 g.setColor(Color.red);
    242 g.fillOval(420,280,31,31);
    243 g.setColor(Color.black);
    244 g.drawOval(420,280,30,30);
    245 }
    246 b=420-(a-29)*40;
    247 g.drawOval(b,280,30,30);
    248 g.drawLine(b,295,b-10,295);
    249 }
    250
    251 if(a>=33 & a<=36)
    252 {
    253 b=280+(a-33)*40;
    254 g.drawOval(260,b,30,30);
    255 c=b+30;
    256 g.drawLine(275,c,275,c+10);
    257 }
    258
    259 if(a>=37 & a<=3:cool:
    260 {
    261 g.drawOval(260,440,30,30);
    262 g.drawLine(260,455,250,455);
    263 g.drawOval(220,440,30,30);
    264 g.drawLine(220,455,210,455);
    265 }
    266
    267 if(a>=39 & a<=42)
    268 {
    269 b=405-(a-39)*40;
    270 g.fillOval(225,b,20,20);
    271 }
    272
    273 if(a>=43 & a<=46)
    274 {
    275 if(a==43)
    276 {
    277 g.setColor(Color.black);
    278 g.fillOval(180,440,31,31);
    279 }
    280 b=440-((a-43)*40);
    281 g.drawOval(180,b,30,30);
    282 g.drawLine(195,b,195,b-10);
    283 }
    284
    285 if(a>=47 & a<=50)
    286 {
    287 b=180-(a-47)*40;
    288 g.drawOval(b,280,30,30);
    289 g.drawLine(b,295,b-10,295);
    290 }
    291
    292 if(a>=51 & a<=52)
    293 {
    294 g.drawOval(20,280,30,30);
    295 g.drawLine(35,280,35,270);
    296 g.drawOval(20,240,30,30);
    297 g.drawLine(35,240,35,230);
    298 }
    299
    300 if(a>=53 & a<=56)
    301 {
    302 b=65+(a-53)*40;
    303 g.setColor(Color.yellow);
    304 g.fillOval(b,245,21,21);
    305 g.setColor(Color.black);
    306 g.drawOval(b,245,20,20);
    307 }
    308
    309
    310 }
    311
    312 }
    313
    314
    315 }
    316
    317
    318
    319

    Hier öffnet sich nun das erste Fenster, ich betätige den Button und das zweite Fenster öffnet sich, aber ohne dem Spielfeld. Dass die Namen noch nicht gespeichert werden weiß ich, das kommt wenn das Spielfeld funktioniert.
     

Diese Seite empfehlen