Android App Absturz beim Starten

Til7373

Mitglied
Hallo Leute,
Ich bin kein kompletter Anfänger mehr in Java sondern hab schon etwas Erfahrung in Sachen programmieren, in richtig Android Apps hab ich allerdings noch nicht sonderlich viel gemacht.
Ich wollte gerne ein Mathe Quiz machen. Wenn ihr den code seht denkt ihr wahrscheinlich was ich für eine Logik habe, aber das eigentliche problem ist, dass mein Programm beim Debuggen auf meinem Handy immer sofort abstürzt, obwohl es keine Fehlermeldungen zuvor gibt.
Hier jetzt noch einmal die mainActivity.java als TextDatei und die Fehlermeldung dann nach dem Debuggen.


Code:
06-13 20:40:53.808 7892-7892/com.andriod.tiljo.mathfix D/AndroidRuntime: Shutting down VM
06-13 20:40:53.818 7892-7892/com.andriod.tiljo.mathfix E/AndroidRuntime:
FATAL EXCEPTION: main
Process: com.andriod.tiljo.mathfix, PID: 7892
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.andriod.tiljo.mathfix/com.andriod.tiljo.mathfix.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window$Callback android.view.Window.getCallback()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:224
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2410)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1313)
at android.os.Handler.dispatchMessage(Handler.java:10
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5345)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:947)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:742)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window$Callback android.view.Window.getCallback()' on a null object reference
                                                                             at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:68)
                                                                             at android.support.v7.app.AppCompatDelegateImplV7.<init>(AppCompatDelegateImplV7.java:146)
                                                                             at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:28)
                                                                             at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:41)
                                                                             at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:190)
                                                                             at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:172)
                                                                             at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:512)
                                                                             at android.support.v7.app.AppCompatActivity.findViewById(AppCompatActivity.java:184)
                                                                             at com.andriod.tiljo.mathfix.MainActivity.<init>(MainActivity.java:19)
                                                                             at java.lang.reflect.Constructor.newInstance(Native Method)
                                                                             at java.lang.Class.newInstance(Class.java:1606)
                                                                             at android.app.Instrumentation.newActivity(Instrumentation.java:1066)
                                                                             at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2236)
                                                                             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2410)
                                                                             at android.app.ActivityThread.access$800(ActivityThread.java:151)
                                                                             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1313)
                                                                             at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                             at android.os.Looper.loop(Looper.java:135)
                                                                             at android.app.ActivityThread.main(ActivityThread.java:5345)
                                                                             at java.lang.reflect.Method.invoke(Native Method)
                                                                             at java.lang.reflect.Method.invoke(Method.java:372)
                                                                             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:947)
 

Anhänge

  • MainActivity.txt
    8,4 KB · Aufrufe: 14
Zuletzt bearbeitet von einem Moderator:

Joose

Top Contributor
Die Fehlermeldung ist doch eh eindeutig: NullPointerException
Es wird wo auf ein nicht initialisiertes Objekt zugegriffen.

Der StackTrace sagt das Zeile 19 in deiner Klasse "MainActivity" Code aufruft welcher die Exception verursacht.
Meine Vermutung: Du willst deine TextView Variablen zu früh initialisieren, der Kontext ist noch nicht ready.

Zu deinem Code:
Statt
Java:
switch (random) {
  case 1:
  korrekt = true;
  break;
  case 4:
  korrekt = true;
  break;
  case 5:
  korrekt = true;
  break;
  case 8:
  korrekt = true;
  break;
  case 11:
  korrekt = true;
  break;
  case 14:
  korrekt = true;
  break;
  case 15:
  korrekt = true;
  break;
  case 18:
  korrekt = true;
  break;
  default:
  t1.setText("");
  }
könntest du auch einfach
Java:
switch (random) {
   case 1:
   case 4:
   case 5:
   case 8:
   case 11:
   case 14:
   case 15:
   case 18:
     korrekt = true;
     break;
   default:
     t1.setText("");
}
schreiben
 

Til7373

Mitglied
ok verstehe ich aber ich kriege es nicht hin auf die Objekte zuzugreifen wen ich sie in
public void onCreate(Bundle savedInstanceState) initialisiere. obwohl alles public ist und mit new und MainActivity.b1 klappt nicht.
 

Til7373

Mitglied
Im moment gar nicht weil ich jetzt die Objekte einfach außerhalb von
public void onCreate(Bundle savedInstanceState) initialisiert habe was aber ja nicht funktioniert
 

Til7373

Mitglied
Java:
boolean korrekt = true;
        int random = (int) (Math.random() * 20 )+1;
        TextView t1 = (TextView) findViewById(R.id.textView1);
        TextView t2 = (TextView) findViewById(R.id.textView);
        TextView t3 = (TextView) findViewById(R.id.textView2);
        TextView t4 = (TextView) findViewById(R.id.textView3);
        ImageButton b1 = (ImageButton) findViewById(R.id.imageButton2);
        ImageButton b2 = (ImageButton) findViewById(R.id.imageButton);
        ImageButton b3 = (ImageButton) findViewById(R.id.image_Button1);

Damit initialisiere ich alles was ich dann brauche.
Ich bin mir jetzt nicht sicher wie ich bei den Listeners auf diese Objekte zugreife.
 

Joose

Top Contributor
Ja und dieser Code steht ja nicht im Konstruktor. Diese Zeilen werden vor dem Konstruktor Aufruf ausgeführt, zu diesem Zeitpunkt existieren die Komponenten aber noch nicht (der StackTrace verrät in Zeile 19 der Klasse wird der Fehler verursacht).
Daher würde ich die Initialisierungen in den Konstruktor verschieben (oder je nachdem obs bei Android da was eigenes spezielles gibt).
 

Til7373

Mitglied
ok das programm stürzt auf dem Handy nicht mehr ab:)
Allerdings muss ich es trotzdem schaffen die random zahl im Listener aus dem anderen Konstruktor zu holen weil ich die gleiche zahl brauche.also im ersten Konstruktor wird mit ner switch schleife alles durchgegangen was bei math.random() kommt und macht daraufhin die textfelder voll.
im listener muss allerdings auch überprüft werden wenn ich auf beispielsweise den ersten Button klicke und die random zahl diese ist wo sich das Ergebnis tatsächlich auf diesem button befindet.
die random zahl muss allerdings in beiden konstruktoren die gleiche sein
 

Til7373

Mitglied
so ich bin jetzt etwas weiter aber es klappt alles immer noch nicht gut.
und zwar kann ich auf den zweiten und dritten button klicken und es passiert auch wenn das ergebnis falsch ist und beim klick auf den ersten button stürzt das programm immer ab.
hier einmal die MainActivity und beim buttonklick wird die onclick.java ausgeführt.

Java:
package com.andriod.tiljo.mathfix;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;


public class MainActivity extends AppCompatActivity {


    public static int random;

    public int setRandom() {
        return random;
    }

    public static boolean korrekt;

    public boolean getKorrekt() {
        return korrekt;
    }

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
random = (int)(Math.random()*20)+1;
korrekt = true;
        TextView t1 = (TextView) findViewById(R.id.textView1);
        TextView t2 = (TextView) findViewById(R.id.textView);
        TextView t3 = (TextView) findViewById(R.id.textView2);
        TextView t4 = (TextView) findViewById(R.id.textView3);
        ImageButton b1 = (ImageButton) findViewById(R.id.imageButton2);
        ImageButton b2 = (ImageButton) findViewById(R.id.imageButton);
        ImageButton b3 = (ImageButton) findViewById(R.id.image_Button1);

if(korrekt==false){
    System.exit(0);
}
        int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20;


        a1 = 84;
        a2 = 15;
        a3 = 13;
        a4 = 12;
        a5 = 35;
        a6 = 12;
        a7 = 0;
        a8 = 16;
        a9 = -13;
        a10 = 19;
        a11 = 77;
        a12 = 8;
        a13 = 20;
        a14 = 32;
        a15 = 4;
        a16 = 18;
        a17 = 30;
        a18 = 200;
        a19 = 15;
        a20 = 9;
        String a1s, a2s, a3s, a4s, a5s, a6s, a7s, a8s, a9s, a10s, a11s, a12s, a13s, a14s, a15s, a16s, a17s, a18s, a19s, a20s;
        a1s = String.valueOf(a1);
        a2s = String.valueOf(a2);
        a3s = String.valueOf(a3);
        a4s = String.valueOf(a4);
        a5s = String.valueOf(a5);
        a6s = String.valueOf(a6);
        a7s = String.valueOf(a7);
        a8s = String.valueOf(a8);
        a9s = String.valueOf(a9);
        a10s = String.valueOf(a10);
        a11s = String.valueOf(a11);
        a12s = String.valueOf(a12);
        a13s = String.valueOf(a13);
        a14s = String.valueOf(a14);
        a15s = String.valueOf(a15);
        a16s = String.valueOf(a16);
        a17s = String.valueOf(a17);
        a18s = String.valueOf(a18);
        a19s = String.valueOf(a19);
        a20s = String.valueOf(a20);


        String ar1, ar2, ar3, ar4, ar5, ar6, ar7, ar8, ar9, ar10, ar11, ar12, ar13, ar14, ar15, ar16, ar17, ar18, ar19, ar20;
        ar1 = "8x10+4";
        ar2 = "5+6+2+10-8";
        ar3 = "20:2+3";
        ar4 = "6x20:10";
        ar5 = "5x(10-3)";
        ar6 = "(5+3-2)x2";
        ar7 = "8-10+2";
        ar8 = "4x2²";
        ar9 = "5-3x6";
        ar10 = "4+9+3x2";
        ar11 = "80,5-7*0,5";
        ar12 = "(4-3)x8";
        ar13 = "30:3+10";
        ar14 = "56-20-4";
        ar15 = "5:2+1,5";
        ar16 = "17+7-2*3";
        ar17 = "8x3+6";
        ar18 = "20x5+100";
        ar19 = "45x2:6";
        ar20 = "(8-5)²";


        switch (random) {
            case 1:
                t1.setText(ar1);
                t2.setText(a1s);
                t3.setText(a3s);
                t4.setText(a8s);
                break;
            case 2:
                t1.setText(ar2);
                t3.setText(a2s);
                t2.setText(a9s);
                t4.setText(a12s);
                break;
            case 3:
                t1.setText(ar3);
                t4.setText(a3s);
                t2.setText(a15s);
                t3.setText(a19s);

                break;
            case 4:
                t1.setText(ar4);
                t2.setText(a4s);
                t3.setText(a10s);
                t4.setText(a2s);
                break;

            case 5:
                t1.setText(ar5);
                t2.setText(a5s);
                t3.setText(a3s);
                t4.setText(a20s);
                break;

            case 6:
                t1.setText(ar6);
                t2.setText(a1s);
                t3.setText(a6s);
                t4.setText(a4s);
                break;

            case 7:
                t1.setText(ar7);
                t2.setText(a17s);
                t3.setText(a10s);
                t4.setText(a7s);
                break;

            case 8:
                t1.setText(ar8);
                t2.setText(a8s);
                t3.setText(a11s);
                t4.setText(a9s);
                break;

            case 9:
                t1.setText(ar9);
                t2.setText(a12s);
                t3.setText(a9s);
                t4.setText(a18s);
                break;

            case 10:
                t1.setText(ar10);
                t2.setText(a1s);
                t3.setText(a14s);
                t4.setText(a10s);
                break;

            case 11:
                t1.setText(ar11);
                t2.setText(a11s);
                t3.setText(a13s);
                t4.setText(a8s);
                break;

            case 12:
                t1.setText(ar12);
                t2.setText(a20s);
                t3.setText(a12s);
                t4.setText(a6s);
                break;

            case 13:
                t1.setText(ar13);
                t2.setText(a16s);
                t3.setText(a9s);
                t4.setText(a13s);
                break;

            case 14:
                t1.setText(ar14);
                t2.setText(a14s);
                t3.setText(a5s);
                t4.setText(a13s);
                break;

            case 15:
                t1.setText(ar15);
                t2.setText(a15s);
                t3.setText(a4s);
                t4.setText(a17s);
                break;

            case 16:
                t1.setText(ar16);
                t2.setText(a10s);
                t3.setText(a16s);
                t4.setText(a15s);
                break;

            case 17:
                t1.setText(ar17);
                t2.setText(a11s);
                t3.setText(a2s);
                t4.setText(a17s);
                break;

            case 18:
                t1.setText(ar18);
                t2.setText(a18s);
                t3.setText(a9s);
                t4.setText(a14s);
                break;

            case 19:
                t1.setText(ar19);
                t2.setText(a1s);
                t3.setText(a19s);
                t4.setText(a6s);
                break;

            case 20:
                t1.setText(ar20);
                t2.setText(a19s);
                t3.setText(a7s);
                t4.setText(a20s);
                break;

            default:
                t1.setText("");
        }




    }


}

und hier die OnClick.java:
Java:
public class OnClick {




    public static void sendMessage(View view) {
        MainActivity.korrekt=false;
        switch (view.getId()) {
            case R.id.imageButton2:
                switch (MainActivity.random) {
                    case 1:
                        MainActivity.korrekt = true;
                        break;
                    case 4:
                        MainActivity.korrekt = true;
                        break;
                    case 5:
                        MainActivity.korrekt = true;
                        break;
                    case 8:
                        MainActivity.korrekt = true;
                        break;
                    case 11:
                        MainActivity.korrekt = true;
                        break;
                    case 14:
                        MainActivity.korrekt = true;
                        break;
                    case 15:
                        MainActivity.korrekt = true;
                        break;
                    case 18:
                        MainActivity.korrekt = true;
                        break;
                    default:

               }

                break;




            case R.id.imageButton:
                switch(MainActivity.random){
                    case 2:
                        MainActivity.korrekt =true;
                        break;
                    case 6:
                        MainActivity.korrekt=true;
                        break;
                    case 9:
                        MainActivity.korrekt=true;
                        break;
                    case 12:
                        MainActivity.korrekt=true;
                        break;
                    case 16:
                        MainActivity.korrekt=true;
                        break;
                    case 19:
                        MainActivity.korrekt=true;
                        break;
                    default:

                }

                break;
            case R.id.image_Button1:
                switch(MainActivity.random){
                    case 3:
                        MainActivity.korrekt=true;
                        break;
                    case 7:
                        MainActivity.korrekt=true;
                        break;
                    case 10:
                        MainActivity.korrekt=true;
                        break;
                    case 13:
                        MainActivity.korrekt=true;
                        break;
                    case 17:
                        MainActivity.korrekt=true;
                        break;
                    case 20:
                        MainActivity.korrekt=true;
                        break;
                    default:

                }

                break;
            default:

                break; }
        if(MainActivity.korrekt=false){
            System.exit(0);
        }
    }
}

und die Fehlermeldung beim klick auf den obesten button also image_button2 lautet:

06-15 15:53:20.976 25738-25738/com.andriod.tiljo.mathfix E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.andriod.tiljo.mathfix, PID: 25738
java.lang.IllegalStateException: Could not find method setListFooter(View) in a parent or ancestor Context for android:eek:nClick attribute defined on view class android.support.v7.widget.AppCompatTextView with id 'textView'
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.resolveMethod(AppCompatViewInflater.java:325)
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:284)
at android.view.View.performClick(View.java:4791)
at android.view.View$PerformClick.run(View.java:19884)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5345)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:947)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:742)
 

Joose

Top Contributor
und die Fehlermeldung beim klick auf den obesten button also image_button2 lautet:

06-15 15:53:20.976 25738-25738/com.andriod.tiljo.mathfix E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.andriod.tiljo.mathfix, PID: 25738
java.lang.IllegalStateException: Could not find method setListFooter(View) in a parent or ancestor Context for android:eek:nClick attribute defined on view class android.support.v7.widget.AppCompatTextView with id 'textView'

Das steht doch genau was der Fehler ist. Es wird keine Methode mit den Namen "setListFooter" gefunden. Kontrolliere deinen Code ob du hier wo diese Methode aufrufst bzw. warum diese und wo diese deklariert sein sollte.
 

Til7373

Mitglied
habs jetzt wieder anders und zwar alle listener in der MainActivity aber was komisch ist, dass nur der Listener vom ersten button funktioniert:(
Java:
b2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v1) {
                MainActivity.korrekt = false;
                t1.setText("");
            }
        });
    b1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v2) {


            switch (MainActivity.random) {
                case 1:
                    MainActivity.korrekt = true;
                    break;
                case 4:
                    MainActivity.korrekt = true;
                    break;
                case 5:
                    MainActivity.korrekt = true;
                    break;
                case 8:
                    MainActivity.korrekt = true;
                    break;
                case 11:
                    MainActivity.korrekt = true;
                    break;
                case 14:
                    MainActivity.korrekt = true;
                    break;
                case 15:
                    MainActivity.korrekt = true;
                    break;
                case 18:
                    MainActivity.korrekt = true;
                    break;
                default:
                    System.exit(0);
            }
        }
    });




    b3.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v3) {
            MainActivity.korrekt = false;

            switch (MainActivity.random) {
                case 3:
                    MainActivity.korrekt = true;
                    break;
                case 7:
                    MainActivity.korrekt = true;
                    break;
                case 10:
                    MainActivity.korrekt = true;
                    break;
                case 13:
                    MainActivity.korrekt = true;
                    break;
                case 17:
                    MainActivity.korrekt = true;
                    break;
                case 20:
                    MainActivity.korrekt = true;
                    break;
                default:
                    System.exit(0);

            }
        }
    });
 

AndiE

Top Contributor
Momentan weiß ich noch, wie das funktionieren soll. Kannst du den Code so auskommentieren, dass z.B. nur der Zufallswert "1" benutzt wird. Dann kannst du genau sehen, wie das angezeigt wird. ich kann bei den Listenern keine Auswertefunktion erkennen. Soweit ich das sehe, erstellst du die UI-Objekte in der OnCreate. Üblicherweise verschwinden diese, wenn die OnCreate beendet wird. Daher werden solche Elemente üblicherweise als Klassenvariablen angelegt. Ansonsten wäre es gut, wenn alle Dateien, also auch die R- und die Manifestdatei mitgepostet wird. Dann kann man das Projekt mal im Emulator nachvollziehen.
 

Joose

Top Contributor
Soweit ich das sehe, erstellst du die UI-Objekte in der OnCreate. Üblicherweise verschwinden diese, wenn die OnCreate beendet wird. Daher werden solche Elemente üblicherweise als Klassenvariablen angelegt.
Die Deklarierung war schon außerhalb der OnCreate Methode, aber ebenso die Initialisierung. Auf mein Anraten sollte die Initialisierung in die OnCreate verschoben werden.
Anscheinend wurde beides verschoben :/
 

Til7373

Mitglied
Java:
public static int random;

    public int setRandom() {
        return random;
    }

    public static boolean korrekt;

    public boolean getKorrekt() {
        return korrekt;
    }

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

korrekt = true;
        final TextView t1 = (TextView) findViewById(R.id.textView1);
        final TextView t2 = (TextView) findViewById(R.id.textView);
        final TextView t3 = (TextView) findViewById(R.id.textView2);
        final TextView t4 = (TextView) findViewById(R.id.textView3);
         ImageButton b1 = (ImageButton) findViewById(R.id.imageButton2);
        ImageButton b2 = (ImageButton) findViewById(R.id.imageButton);
         ImageButton b3 = (ImageButton) findViewById(R.id.image_Button1);

so sieht das momentan aus, also werden die Objekte eigentlich in der OnCreate initialisiert.
Ist das richtig?
 

mrBrown

Super-Moderator
Mitarbeiter
Deklariert und Initialisiert!
Die Deklarierung sollte aber außerhalb passieren, nur die Initialisierung innerhalb von#onCreate.


Gibts einen Grund, warum random und korrekt static sind?
 

Til7373

Mitglied
Java:
int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20;


        a1 = 84;
        a2 = 15;
        a3 = 13;
        a4 = 12;
        a5 = 35;
        a6 = 12;
        a7 = 0;
        a8 = 16;
        a9 = -13;
        a10 = 19;
        a11 = 77;
        a12 = 8;
        a13 = 20;
        a14 = 32;
        a15 = 4;
        a16 = 18;
        a17 = 30;
        a18 = 200;
        a19 = 15;
        a20 = 9;
        String a1s, a2s, a3s, a4s, a5s, a6s, a7s, a8s, a9s, a10s, a11s, a12s, a13s, a14s, a15s, a16s, a17s, a18s, a19s, a20s;
        a1s = String.valueOf(a1);
        a2s = String.valueOf(a2);
        a3s = String.valueOf(a3);
        a4s = String.valueOf(a4);
        a5s = String.valueOf(a5);
        a6s = String.valueOf(a6);
        a7s = String.valueOf(a7);
        a8s = String.valueOf(a8);
        a9s = String.valueOf(a9);
        a10s = String.valueOf(a10);
        a11s = String.valueOf(a11);
        a12s = String.valueOf(a12);
        a13s = String.valueOf(a13);
        a14s = String.valueOf(a14);
        a15s = String.valueOf(a15);
        a16s = String.valueOf(a16);
        a17s = String.valueOf(a17);
        a18s = String.valueOf(a18);
        a19s = String.valueOf(a19);
        a20s = String.valueOf(a20);

//random = 1 also gehts in den teil der schleife; ar1 ist die Rechnung die anderen Ergebnise.

random = 1;
switch (random) {
    case 1:
        t1.setText(ar1);
        t2.setText(a1s);
        t3.setText(a3s);
        t4.setText(a8s);
        break;
default:
    t1.setText("")
}


//Dann kommen die Listener und nur bei b1 funktioniert es (bei b2 ist ein Test weil das Textfeld t1 //wird auch nicht leer wenn ich auf den Button klicke also der Button geht nicht)
// Wenn ich den ersten Button klicke passiert nichts weil er in case 1 geht. wenn ich  zum //Beispiel random=2 mache und den ersten Button klicke dann schließt sich das programm.also b1 funktioniert

b2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v1) {
            MainActivity.korrekt = false;
            t1.setText("");
        }
    });
b1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v2) {


        switch (MainActivity.random) {
            case 1:
                MainActivity.korrekt = true;
                break;
            case 4:
                MainActivity.korrekt = true;
                break;
            case 5:
                MainActivity.korrekt = true;
                break;
            case 8:
                MainActivity.korrekt = true;
                break;
            case 11:
                MainActivity.korrekt = true;
                break;
            case 14:
                MainActivity.korrekt = true;
                break;
            case 15:
                MainActivity.korrekt = true;
                break;
            case 18:
                MainActivity.korrekt = true;
                break;
            default:
                System.exit(0);
        }
    }
});




b3.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v3) {
        MainActivity.korrekt = false;

        switch (MainActivity.random) {
            case 3:
                MainActivity.korrekt = true;
                break;
            case 7:
                MainActivity.korrekt = true;
                break;
            case 10:
                MainActivity.korrekt = true;
                break;
            case 13:
                MainActivity.korrekt = true;
                break;
            case 17:
                MainActivity.korrekt = true;
                break;
            case 20:
                MainActivity.korrekt = true;
                break;
            default:
                System.exit(0);

        }
    }
});

Ich hoffe das schafft etwas übersichtlichkeit
 

Til7373

Mitglied
obwohl doch und zwar gibt mir in den Listener eine Fehlermeldung wenn ich die Variablen nicht static mache:
Non-static_Field "korrekt" cannot be referneced from a non-static context
 

Til7373

Mitglied
und sorry dass ich keine Arrays benutze sollt ich benutzen aber ist jetzt aufwendig umzuschreiben aber beim weiteren programmieren werd ich es verwenden danke;)
 

mrBrown

Super-Moderator
Mitarbeiter
also versteht man nicht was da passieren soll bzw. passiert
Doch, es ist nur extrem unübersichtlich und umständlich.
Hat auch nicht wirklich was mit deinem Problem zu tun, oder?

obwohl doch und zwar gibt mir in den Listener eine Fehlermeldung wenn ich die Variablen nicht static mache:
Non-static_Field "korrekt" cannot be referneced from a non-static context
Du versuchst weiterhin auf eine statische Variable zuzugreifen, die gibts eben nicht. Du musst auf die Instanzvariable zugreifen. Hat aber auch nichts mit deinem Problem zu tun, sind nur Punkte, die du beachten solltest, weil sie wahrscheinlich sonst irgendwann zu Problemen führen.


und sorry dass ich keine Arrays benutze sollt ich benutzen aber ist jetzt aufwendig umzuschreiben aber beim weiteren programmieren werd ich es verwenden danke;)

Es würde deinen Code ziemlich vereinfachen ;)
 

AndiE

Top Contributor
Ich habe einen Vorschlag: Mach ein neues Projekt in Eclipse auf. Erzeuge dort für dein Android-System deine vier Edit-Felder und drei Button. Lege nun einfach fest "1+1", "1","2" und "3". So wie ich das verstehe, soll der Benutzer auf den Button drücken, bei dem das richtige Ergebnis steht, in diesem Falle also dem 2ten. Nun sollte eine Meldung kommen: "richtig" mit einem Button "nächste Aufgabe". Dazu brauchst du noch ein Edit-Feld und einen Button. Wenn der falsche Button gedrückt wird, muss auch eine Meldung "falsch" mit Button "Noch mal versuchen" erscheinen. Für die Anzeige dieser Meldungen sind die Actionlistener verantwortlich. Der üblicherweise notwendige "Exit"-Knopf fällt ja wohl neuerdings bei Android weg. Wie weit bekommst du diese Anwendung zu laufen? Wenn sie läuft, brauchst du nur die Abschnitte in dein jetziges Projekt zu kopieren. Der Code ist aber übersichtlicher, weil die ganzen Zuweisungen und switch fehlen. Hast du das Projekt schon mal mit SWT oder so programmiert?
 

Joose

Top Contributor
wie soll ich die UIs außerhalb von onCreate deklarieren

Hier ein Beispiel um zu zeigen was der Unterschied zwischen der Deklaration einer Variable ist und deren Initialisierung!

Java:
public class MyClass {
    private int counter; // Deklaration einer int-Variable mit der Bezeichnung counter

    public MyClass(int counter) {
        this.counter = counter; // Initialisierung der Instanzvariable mit der Bezeichnung counter;
    }
}
Die Deklaration legt nur fest es gibt nun eine Variable im entsprechenden Scope. Die Initialisierung legt dann den Anfangs-/Startwert fest.
 

Til7373

Mitglied
ich hatte nicht genau verstanden was ich machen soll

Java:
package test3;
import javax.swing.*;
import java.awt.event.*;
import java.awt.BorderLayout;

public class test {
    static boolean korrekt;

    public static void main(String[]args) {
       
        JFrame frame = new JFrame("Mathfix");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(500, 600);
        JPanel panel = new JPanel(new BorderLayout(5, 5));
        frame.setLayout(new BorderLayout(5,5));
       
       
        JTextField t1 = new JTextField("");
        JButton button1 = new JButton("");
        JButton button2 = new JButton("");
        JButton button3 = new JButton("");
        frame.getContentPane().add(BorderLayout.NORTH, t1);
        frame.getContentPane().add(BorderLayout.EAST, button1);
        frame.getContentPane().add(BorderLayout.SOUTH, button2);
        frame.getContentPane().add(BorderLayout.WEST, button3);
       
       
        frame.pack();
        frame.setVisible(true);
       
       
        String rechnung = "5+6-8";
        String ergebnis1 = "4";
        String ergebnis2 = "3";
        String ergebnis3 = "2";
        
       
        t1.setText(rechnung);
        button1.setText(ergebnis2);
        button2.setText(ergebnis1);
        button3.setText(ergebnis3);
   
        button1.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                korrekt=true;
                System.out.println(korrekt);
            }
        });
       
        button2.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                korrekt=false;
                System.out.println(korrekt);
            }
        });
       
        button3.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                korrekt=false;
                System.out.println(korrekt);
            }
        });
       
       

       
    }}


Hier ist jetzt mal das programm sehr vereinfacht.
Ich glaube aber dass es an den listeners in android liegt weil das ist ja hier nicht das gleiche.
 

AndiE

Top Contributor
Soweit OK. Nun erstellst du eine Methode OnCreate, genau wie beim Android. Dann legst du für den Swing die gleiche Funktionalität in diese Methode wie beim Android-Gerät. Dann siehst du, was du ändern musst.

Übrigens: der loop ist imme noch nicht geschlossen.
 

Til7373

Mitglied
ich hab jetzt mein android programm etwas übersichtlicher gemacht dass heißt auf euren rat mit den arrays gehört und hab mehr kommentiert.#
ich hoffe man kann jetzt genau nachvollziehen was passiert.
ich hab in einem android app entwicklungs buch nochmal nachgeschlagen und die Listener genau danach geschrieben.
Trotzdem passieren nur die richtigen Sachen wenn ich auf den ersten Button klicke bei den anderen passiert einfach nie was.

Java:
package com.andriod.tiljo.mathfix;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;


public class MainActivity extends AppCompatActivity {


//Buttons und textfelder
    TextView t1,t2,t3,t4;
    ImageButton b1,b2,b3;


//random zahl (rechnung)
  static  int random;


// variable korrekt
    public  static boolean korrekt;



    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
//Aufruf der unten erstellten Listeners
        setButtonClickListener1();
        setButtonClickListener2();
        setButtonClickListener3();


        t1 = (TextView) findViewById(R.id.textView1);
        t2 = (TextView) findViewById(R.id.textView);
        t3 = (TextView) findViewById(R.id.textView2);
        t4 = (TextView) findViewById(R.id.textView3);

        korrekt = true;


//Ergebniise als Arrays
        String[] e = {"84", "15", "13", "12", "35", "12", "0", "16", "-13", "19", "77", "8", "20", "32", "4", "18", "30", "200", "15", "9"};


//Rechnungen als Arrays
        String[] r = {"8x10+4", "5+6+2+10-8", "20:2+3", "6x20:10", "5x(10-3)", "(5+3-2)x2", "8-10+2", "4x2²", "5-3x6", "4+9+3x2", "80,5-7*0,5", "(4-3)x8",
                "30:3+10", "56-20-4", "5:2+1,5", "17+7-2*3", "8x3+6", "20x5+100", "45x2:6", "(8-5)²"};

//Bei bestimmter radnom Rechnung anzeigen und ein richtiges und zwei falsche Ergebnisse irgendwo
        random = (int) (Math.random() * 20) + 1;
        switch (random) {
            case 1:
                t1.setText(r[0]);
                t2.setText(e[0]);
                t3.setText(e[2]);
                t4.setText(e[7]);
                break;
            case 2:
                t1.setText(r[1]);
                t3.setText(e[1]);
                t2.setText(e[8]);
                t4.setText(e[10]);
                break;
            case 3:
                t1.setText(r[2]);
                t4.setText(e[2]);
                t2.setText(e[14]);
                t3.setText(e[5]);

                break;
            case 4:
                t1.setText(r[3]);
                t2.setText(e[3]);
                t3.setText(e[9]);
                t4.setText(e[1]);
                break;

            case 5:
                t1.setText(r[4]);
                t2.setText(e[4]);
                t3.setText(e[2]);
                t4.setText(e[19]);
                break;

            case 6:
                t1.setText(r[5]);
                t2.setText(e[0]);
                t3.setText(e[5]);
                t4.setText(e[3]);
                break;

            case 7:
                t1.setText(r[6]);
                t2.setText(e[16]);
                t3.setText(e[9]);
                t4.setText(e[6]);
                break;

            case 8:
                t1.setText(r[7]);
                t2.setText(e[7]);
                t3.setText(e[10]);
                t4.setText(e[8]);
                break;

            case 9:
                t1.setText(r[8]);
                t2.setText(e[11]);
                t3.setText(e[8]);
                t4.setText(e[17]);
                break;

            case 10:
                t1.setText(r[9]);
                t2.setText(e[0]);
                t3.setText(e[13]);
                t4.setText(e[9]);
                break;

            case 11:
                t1.setText(r[10]);
                t2.setText(e[10]);
                t3.setText(e[12]);
                t4.setText(e[7]);
                break;

            case 12:
                t1.setText(r[11]);
                t2.setText(e[19]);
                t3.setText(e[11]);
                t4.setText(e[5]);
                break;

            case 13:
                t1.setText(r[12]);
                t2.setText(e[15]);
                t3.setText(e[8]);
                t4.setText(e[12]);
                break;

            case 14:
                t1.setText(r[13]);
                t2.setText(e[13]);
                t3.setText(e[4]);
                t4.setText(e[12]);
                break;

            case 15:
                t1.setText(r[14]);
                t2.setText(e[14]);
                t3.setText(e[3]);
                t4.setText(e[16]);
                break;

            case 16:
                t1.setText(r[15]);
                t2.setText(e[9]);
                t3.setText(e[15]);
                t4.setText(e[14]);
                break;

            case 17:
                t1.setText(r[16]);
                t2.setText(e[10]);
                t3.setText(e[1]);
                t4.setText(e[16]);
                break;

            case 18:
                t1.setText(r[17]);
                t2.setText(e[17]);
                t3.setText(e[8]);
                t4.setText(e[13]);
                break;

            case 19:
                t1.setText(r[18]);
                t2.setText(e[0]);
                t3.setText(e[18]);
                t4.setText(e[5]);
                break;

            case 20:
                t1.setText(r[19]);
                t2.setText(e[18]);
                t3.setText(e[6]);
                t4.setText(e[19]);
                break;

            default:
                t1.setText("");
        }

    }

    //Listener für Button 1
public void setButtonClickListener1(){
    b1 = (ImageButton) findViewById(R.id.imageButton2);
    b1.setOnClickListener(new View.OnClickListener(){
        public void onClick(View view){
            switch (MainActivity.random) {

                case 1:
                case 4:
                case 5:
                case 8:
                case 11:
                case 14:
                case 15:
                case 18:
                    MainActivity.korrekt = true;
                    break;
                default:
                    t1.setText("");
            }
            }
    });
}
//Listener für Button 2
    public void setButtonClickListener2(){
        b2 = (ImageButton) findViewById(R.id.imageButton);
        b2.setOnClickListener(new View.OnClickListener(){
            public void onClick(View view){
                switch(MainActivity.random){

                    case 2:
                    case 6:
                    case 9:
                    case 12:
                    case 16:
                    case 19:
                        MainActivity.korrekt = true;
                        break;
                    default:
                        t1.setText("");


                }
            }
        });
    }

    //Listener für Button 3
    public void setButtonClickListener3(){
        b3 = (ImageButton) findViewById(R.id.image_Button1);
        b3.setOnClickListener(new View.OnClickListener(){
            public void onClick(View view){
                switch (MainActivity.random) {

                    case 3:
                    case 7:
                    case 10:
                    case 13:
                    case 17:
                    case 20:
                        MainActivity.korrekt=true;
                        break;
                    default:
                        t1.setText("");

                }
            }
        });
    }


}
 

InfectedBytes

Top Contributor
Erstmal: änder deine Variablennamen! t1 bis t4, imageButton1, imageButton2, image_button, e, r, .... das sind so ziemlich die schlimmsten Bezeichnungen die man hätte wählen können. Wie willst du dein eigenes Programm morgen noch verstehen, wenn sämtliche Variablen nichtssagend sind und wie willkürlich gewählt erscheinen?

wie glaubst du zu erkennen das nur der erste button funktioniert?
In allen Listenern setzt du korrekt auf true setzt den Text von t1 auf "".
ergo machen deine Listener quasi alle das gleiche. Kann es vielleicht sein das du eigentlich den text von den anderen textboxen auf "" setzen willst und nicht immer nur von t1 ?
 

Til7373

Mitglied
T ist Textfeld und b ist button r ist Rechnung und e Ergebnis ich find das nicht sehr kompliziert aber dadrum gehts ja nicht.
Das Problem ist dass wenn das Ergebnis auf button1 steht dann passiert nichts und wenn das Flasche Ergebnis auf button 1 steht wird das Textfeld(t1) leer.
Wenn jetzt aber der button2 das falsche Ergebnis enthält und ich klicke dann passiert nichts obwohl eigentlich das Textfeld leern werden sollte.
 

AndiE

Top Contributor
Gut. Er wird das Textfeld aber erst neu als leer anzeigen, wenn du die alte Ansicht ungültig erklärt hast, denn dann wird neu gezeichnet.
 

Til7373

Mitglied
Ja das stimmt aber auch wenn ich als erstes auf den 2. Button oder 3. klicke passiert nichts.
Es ist wirklich ein Problem mit den listeners aber ich seh kein Unterschied zwischen dem ersten und den anderen listener
 

SeriousD0nkey

Bekanntes Mitglied
Hast du das ganze mal im Debugger ausprobiert, ob er nicht vielleicht doch in den Listener reinspringt? Vielleicht hast du einen Logikfehler und denkst nur, dass nichts passiert?
Was mir ansonsten aufgefallen ist, dass du b1 (steht ja wohl für Button1?) den Button mit der Nummer 2 zuweist während du b2 den Button ohne eine Zahl zuweist? Und b3 bekommt den Button mit der 1. Das ist ziemlich verwirrend und solltest du ändern (vielleicht liegt hier ja sogar das Problem?).
 

Til7373

Mitglied
hallo,
danke für eure Hilfe.
Ich habe den Fehler gefunden!:)
Es lag dadran dass ich ja textfelder auf den Buttons hatte.zwei von den dreien(bei button2 und 3)
hab ich in xml irgendwie als clickable true gesetzt wodurch das Programm anscheinend nicht in die Listener gegangen ist.
Ich hätte jetzt noch eine Frage bezüglich verschiedenen Activities in Android und zwar will ich eine Activity(Start) starten wenn man falsch getippt hat.
ich hab das erstmal so gemacht:
Java:
// erst ein Intent
Start = new Intent(MainActivity.this,Start.class);
//und dann soll damit versucht werden eine variable an //die andere Activity zu senden und sie zu starten

Start.putExtra(Intent.EXTRA_TEXT,Punktestand);
                                startActivity(Start);


Leider bekomm ich eine Fehlermeldung dass es die Activity Start nicht findet und ob ich sie in dem Manifest registriert habe.
Das habe ich eigentlich schon:
Code:
 <activity
            android:name=".Start"
            android:label="@string/Falsch"
            android:parentActivityName=".MainActivity" >
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="com.andriod.tiljo.mathfix.Start" />
        </activity>
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Android Studio - Hintergrundmusik Spiele- und Multimedia-Programmierung 3
Excess Ballerfisch für Android Spiele- und Multimedia-Programmierung 3
T Welche packages aus der java api doku ist hilfreich zur Android Spieleprogrammierung Spiele- und Multimedia-Programmierung 2
L LibGDX - Verschiedene Layouts bei Android / Desktop Spiele- und Multimedia-Programmierung 1
K Android Spiel Programmieren Spiele- und Multimedia-Programmierung 6
T Android-App-Programmierung? Spiele- und Multimedia-Programmierung 3
dummycoders Android Studio - Button ändert Farbe erst nach Delay? Spiele- und Multimedia-Programmierung 5
T Android App Spiele- und Multimedia-Programmierung 2
Flo. android java tastatureingaben abfangen. Spiele- und Multimedia-Programmierung 1
B Probleme mit AndEngine in Android Spiele- und Multimedia-Programmierung 1
T opengl und Android.... Spiele- und Multimedia-Programmierung 3
T Android Spielvorstellung / Beta Tester gesucht Spiele- und Multimedia-Programmierung 5
K [Spielvorstellung] - Spoony Fish - (Android) Spiele- und Multimedia-Programmierung 3
K Android: OpenGL render performance Tipps ? Spiele- und Multimedia-Programmierung 4
P Mein Android Game Spiele- und Multimedia-Programmierung 3
X Android Slick AE Anmation Spiele- und Multimedia-Programmierung 2
X Android Slick AE Image Pfad Spiele- und Multimedia-Programmierung 3
X Slick in Android Apps einsetzten Spiele- und Multimedia-Programmierung 6
K [Spielevorstellung] - Range Racer - (Android) Spiele- und Multimedia-Programmierung 35
T Android OpenGL Bewegen Spiele- und Multimedia-Programmierung 5
A Music für Android game Spiele- und Multimedia-Programmierung 3
K Video-Streaming / Android Spiele- und Multimedia-Programmierung 3
Guybrush Threepwood Erfahrungsbericht Android Market Spiele- und Multimedia-Programmierung 11
N Totaler Absturz beim mehrmaligen Abspielen von Sounds Spiele- und Multimedia-Programmierung 5
Atten007 Minecraft Hilfe beim MCreator Plugin benötigt Spiele- und Multimedia-Programmierung 0
Atten007 Minecraft Hilfe beim MCreator Plugin benötigt Spiele- und Multimedia-Programmierung 5
J TreeNode erstellen [Hilfe beim Konstruktor, Zeile 16] Spiele- und Multimedia-Programmierung 2
T Hilfe beim Platzieren der Schiffe Spiele- und Multimedia-Programmierung 14
RalleYTN Brauche Hilfe beim Einlesen von PNGs Spiele- und Multimedia-Programmierung 14
O Problem beim Aufrufen des Spiels von einem Menü Spiele- und Multimedia-Programmierung 7
G LIBGDX Problem beim resizen des Frames Spiele- und Multimedia-Programmierung 3
R Fehler beim Laden eines 2D-Bildes Spiele- und Multimedia-Programmierung 3
T LWJGL 2.9.2: Seltsamer Effekt beim Rendern (VertexShader Problem?) Spiele- und Multimedia-Programmierung 3
T Problem beim Aufbau des Spielfelds Spiele- und Multimedia-Programmierung 18
J Perfomance Probleme beim eigenen Editor Spiele- und Multimedia-Programmierung 1
K Probleme beim kompilieren von javakara Spiele- und Multimedia-Programmierung 10
S [LWJGL] schwarzer Bildschrim beim rendern von .obj Model Spiele- und Multimedia-Programmierung 2
L Probleme beim kompilieren von javakara Spiele- und Multimedia-Programmierung 3
N Problem mit Kollisionsabfrage beim Fallen Jump & Run Spiele- und Multimedia-Programmierung 5
L Problem beim Rätsellöser Spiele- und Multimedia-Programmierung 3
D Problem beim bewegen einer Figur Spiele- und Multimedia-Programmierung 2
M Beim schießen richtet sich die Kugel nach der Maus aus (Quaternion) Spiele- und Multimedia-Programmierung 5
Gossi Probleme beim Laden der Images aus dem "Tutorial für Java-Spiele" Spiele- und Multimedia-Programmierung 4
K Problem beim Anzeigen von Bildern Spiele- und Multimedia-Programmierung 5
D Problem mit Überprüfung beim Lottospiel Spiele- und Multimedia-Programmierung 6
D Problem beim Öffnen einer PHP für eine Highscore Spiele- und Multimedia-Programmierung 5
C Java3D Lichtquelle beim Beobachter Spiele- und Multimedia-Programmierung 2
W CannotRealizeException (jmf) beim abspielen eines liedes Spiele- und Multimedia-Programmierung 3
aze Problem beim Laden von Obj File Spiele- und Multimedia-Programmierung 3
N Jogl Probleme mit dem Buffer beim laden einer Textur Spiele- und Multimedia-Programmierung 2
L Fehlersuche beim Weichzeichner-Algorithmus Spiele- und Multimedia-Programmierung 9
S Problem beim laden eines Bildes in einer Methode Spiele- und Multimedia-Programmierung 14
S Probleme mit Thread beim Streaming Spiele- und Multimedia-Programmierung 1
B Problem beim Programmieren von 4Gewinnt Spiele- und Multimedia-Programmierung 5
0x7F800000 weiß einer wozu ANTLR beim build von JOGL verwendet wird? Spiele- und Multimedia-Programmierung 3
D Fehler beim Stein Scher papier Spiel Spiele- und Multimedia-Programmierung 3
G Überlagern von Strings beim zeichnen verhindern Spiele- und Multimedia-Programmierung 3
G Weiße, vertikale Streifen beim Scrollen auf der Map Spiele- und Multimedia-Programmierung 4
D Probleme beim Download von GIF-Bildern Spiele- und Multimedia-Programmierung 4
C KI beim Computergegner? Spiele- und Multimedia-Programmierung 2
G Problem beim Zeichnen von LineArrays Spiele- und Multimedia-Programmierung 9
C Problem beim picken Spiele- und Multimedia-Programmierung 10
B Problem beim Programmieren Von Mühle Spiele- und Multimedia-Programmierung 6
T Exception beim starten von Java3d Apps Spiele- und Multimedia-Programmierung 2
B problem beim Memory Logik Spiele- und Multimedia-Programmierung 13
J Problem beim Instaliren Spiele- und Multimedia-Programmierung 8
W Probleme beim entfernen von Childs im HauptSceneGraph Spiele- und Multimedia-Programmierung 8
S Sudoku Solver funktioniert beim 2. Aufruf nicht mehr Spiele- und Multimedia-Programmierung 11
B Probleme beim zeichnen Spiele- und Multimedia-Programmierung 15
N Rundenstrategiespiel - Problem beim Drehen eines Bildes Spiele- und Multimedia-Programmierung 18
C Graphische Benutzerschnittstelle, Problem beim Zeichnen Spiele- und Multimedia-Programmierung 4
0 Crashes beim Abspielen von Sounds unter Win98 Spiele- und Multimedia-Programmierung 12
G Probleme beim installieren java 3d linux Spiele- und Multimedia-Programmierung 4
T Java2D Spiel, beim Hinzufügen eines Bildes ruckelt das ganze Spiele- und Multimedia-Programmierung 3
A Bildfehler beim schnellen neuzeichnen Spiele- und Multimedia-Programmierung 2
D Pfeiltasten beim KeyListener Spiele- und Multimedia-Programmierung 1
I Beim Picking werden alle Behaviors angesprochen Spiele- und Multimedia-Programmierung 4

Ähnliche Java Themen

Neue Themen


Oben