# Hilfe bei Java-Methode varname.SetName()



## skiibi (14. Jun 2015)

Guten Abend,

ein Freund und ich haben eine Aufgabe bearbeitet und uns das mehr oder minder zusammengeschustert, dass es funktionieren sollte. Leider tut es das aber nicht ???:L

Ich kriege für die jeweiligen Button immer den Fehler:
java.lang.AssertionError:

 Fehler in Eventhandling von Button BTN_TOLOWER: Komponente Button BTN_TOLOWER nicht gefunden

Als Rückmeldung habe ich bekommen, dass ich die Methode varname.SetName() anwenden soll (bei den Buttons). Jedoch habe ich nicht so wirklich eine Ahnung, wie das gehen soll. kann mir vielleicht jemand helfen?

Ich danke schon mal für eure Mühe und Hinweise. 



```
[COLOR=#222222]package gui;[/COLOR]

import java.awt.*;
import java.util.List;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;


 
@SuppressWarnings("serial")
public class MyGUI extends Frame implements ActionListener {


    TextArea TEXTAREA = new TextArea();
    Button BTN_TOLOWER;
    Button BTN_TOUPPER;
    Button BTN_SWAP;
    Button BTN_CENSOR;
    List<String> blackList;


    public void init () {
        TEXTAREA.setEditable(true);


        this.addWindowListener(
                new WindowAdapter() {
                    public void windowClosing(WindowEvent e) {
                        System.out.println("Fenster wird geschlossen...");
                        setVisible(false);
                        dispose();
                    }
                    public void windowClosed(WindowEvent e) {
                        System.out.println("Programm wurde beendet...");
                        System.exit(0);
                    }
                }
        );


        BTN_TOLOWER = new Button("to Lower");
        BTN_TOLOWER.addActionListener(this);


        BTN_TOUPPER = new Button("to Upper");
        BTN_TOUPPER.addActionListener(this);


        BTN_SWAP = new Button("SwapChars");
        BTN_SWAP.addActionListener(this);
    }


    public MyGUI () {
        super("GUI Programmierung WI14");


        init();


        setLayout(new GridLayout(2, 2));


        this.add(BTN_TOLOWER);
        this.add(BTN_TOUPPER);
        this.add(BTN_SWAP);
        this.add(TEXTAREA);


        setSize(500,250);
        setLocation(500,250);
        setVisible(true);
    }


    public MyGUI (List<String> blackList) {
        super("GUI Programmierung von 147110");
        this.blackList = blackList;


        init();


        BTN_CENSOR = new Button("Censor");
        BTN_CENSOR.addActionListener(this);


        setLayout(new GridLayout(3,2));


        this.add(BTN_TOLOWER);
        this.add(BTN_TOUPPER);
        this.add(BTN_SWAP);
        this.add(BTN_CENSOR);
        this.add(TEXTAREA);


        setSize(800,250);
        setLocation(500,250);
        setVisible(true);
    }


    public void actionPerformed (ActionEvent e) {
        Button bu = (Button) e.getSource();
        String str = TEXTAREA.getText();


        if(bu == BTN_TOLOWER) TEXTAREA.setText( toLower(str) );
        else if (bu == BTN_TOUPPER) TEXTAREA.setText( toUpper(str) );
        else if (bu == BTN_SWAP) TEXTAREA.setText( swapChars(str) );
        else if (bu == BTN_CENSOR) TEXTAREA.setText( censorChars(str) );
    }


    public String toLower (String str) {
        return str.toLowerCase();
    }


    public String toUpper (String str) {
        return str.toUpperCase();
    }


    public String swapChars (String str) {
        char [] c = str.toCharArray();


        for (int i = 0; i < c.length; i++) {
            if ( c [i] > 96 && c [i] < 123) c[i]-=32;
            else if ( c[i] > 64 && c[i] < 91) c[i]+=32;
        }


        return new String(c);
    }


    public String censorChars (String str) {
        String[] woerter = str.split(" ");
        int schlecht=0;
        String satz=new String();
        for (String w : woerter) {
            schlecht=0;
            for (String sw : blackList) {
                if (w.toLowerCase().equals(sw.toLowerCase())) {
                    String neu = new String();
                    for (int i = 0; i < w.length(); i ++) neu = neu + 'x';
                    satz += neu + " ";
                    schlecht=1;
                    break;
                }
            }
            if (schlecht !=1) satz += w + " ";
        }
        return satz;
    }


}
```


----------



## Flown (15. Jun 2015)

Ich weiß ja nicht bei mir läuft das Programm wie es soll. 
Wie erhälst du deine Fehlermeldung und poste bitte den ganzen Stacktrace.


----------



## skiibi (21. Jun 2015)

Sorry für die sehr verspätete Rückmeldung. Hatte recht viel Stress die Tage

Folgende Fehlermeldung wird mir gegeben.

======== Test Results ======



Time: 1.02
There were 3 failures:
1) test01ToLower(test.TestGUI)
java.lang.AssertionError: Fehler in Eventhandling von Button BTN_TOLOWER: Komponente Button BTN_TOLOWER nicht gefunden
	at org.junit.Assert.fail(Assert.java:88)
	at org.junit.Assert.assertTrue(Assert.java:41)
	at org.junit.Assert.assertNotNull(Assert.java:712)
	at test.TestGUI.test01ToLower(TestGUI.java:94)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:298)
	at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:292)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.lang.Thread.run(Thread.java:745)
2) test02ToUpper(test.TestGUI)
java.lang.AssertionError: Fehler in Eventhandling von Button BTN_TOUPPER: Komponente Button BTN_TOUPPER nicht gefunden
	at org.junit.Assert.fail(Assert.java:88)
	at org.junit.Assert.assertTrue(Assert.java:41)
	at org.junit.Assert.assertNotNull(Assert.java:712)
	at test.TestGUI.test02ToUpper(TestGUI.java:124)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:298)
	at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:292)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.lang.Thread.run(Thread.java:745)
3) test03Swap(test.TestGUI)
java.lang.AssertionError: Fehler in Eventhandling von Button BTN_SWAP: Komponente Button BTN_SWAP nicht gefunden
	at org.junit.Assert.fail(Assert.java:88)
	at org.junit.Assert.assertTrue(Assert.java:41)
	at org.junit.Assert.assertNotNull(Assert.java:712)
	at test.TestGUI.test03Swap(TestGUI.java:154)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:298)
	at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:292)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.lang.Thread.run(Thread.java:745)

FAILURES!!!
Tests run: 5,  Failures: 3


----------



## Joose (22. Jun 2015)

skiibi hat gesagt.:


> java.lang.AssertionError: Fehler in Eventhandling von Button BTN_TOLOWER: Komponente Button BTN_TOLOWER nicht gefunden
> at org.junit.Assert.fail(Assert.java:88)
> at org.junit.Assert.assertTrue(Assert.java:41)
> at org.junit.Assert.assertNotNull(Assert.java:712)
> ...



Da steht jeweils genau die Zeile wo das Problem auftaucht (in diesem Fall in deinem Test).
Du hast uns gezeigt wie die Klasse MyGUI ausschaut, aber nicht wie die Tests aufgebaut sind. Daher lässt sich nur schwer sagen wo das Problm liegt.

Du kannst natürlich auch den Test selbst debuggen und kontrollieren wo der Fehler passiert.


----------

