JAVA mehrer Fenster, bitte Hilfe!!!

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.
 
G

Guml0r

Gast
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ß
 
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<=8)
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<=18)
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<=28)
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<=38)
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.
 

Jobs

Keine Jobs mehr verpassen!
Top