Methode innerhalb einer klasse aufrufen

Status
Nicht offen für weitere Antworten.

Mark110

Bekanntes Mitglied
Hallo ,

ich hab da mal wieder eine Frage 😉

Code:
public class Laender extends LaenderHelper
{
	/**
	 * Script Name   : [b]AlleSprachen[/b]
	 * Generated     : [b]19.02.2008 12:27:07[/b]
	 * Description   : Functional Test Script
	 * Original Host : WinNT Version 5.1  Build 2600 (S)
	 * 
	 * @since  2008/02/19
	 * @author bmr
	 */
	public Laender(String Methode){
		//Klick auf Einstellungen
		link_opt().click();
		
		//Klick auf den Button ändern 
		button_ändernsubmit().click();
		
		//Methode aufrufen z.b. bulgarisch
                                //Hier soll jetzt eine entsprechend eMethode aufgerufen werden		
		
		//Klick des speichern
		button_speichernsubmit().click();
		
		//Button zurück zum Hauptmenü
		image_btnExitGif().click();
	}
	
	
	
	public void setBulgarisch(){
		//Bulgarisch
		
		
		//Auswahl der Ländersprache
		radioButton_languageBG().click();
		

		
	}
	
	public void setDaenisch(){
		//Dänisch
	}
	
	public void setEnglisch(){
		//Englisch
	}
	
	public void setFinnisch(){
		//Finnisch
	}
	public void setFranzoesisch(){
		//Französisch
	}
	public void setGriechisch(){
		//Griechisch
	}
	public void setItalienisch(){
		//Italienisch
	}
	public void setKroatisch(){
		//Kroatisch
	}
	public void setLitauisch(){
		//Litauisch
	}
	public void setNiederlaendisch(){
		//Niederländisch
	}
	public void setNorwegisch(){
		//Niederländisch
	}
	public void setPolnisch(){
		//Polnisch
	}
	public void setPortugiesisch() {
		//Portugiesisch
	}
		
	public void setRumaenisch(){
		//Rumänisch
	}
	public void setRussisch(){
		//Russisch
	}
	public void setSchwedisch(){
		//Schwedisch
	}
	public void setSerbisch(){
		//Serbisch
	}
	public void setSlowakisch(){
		//Slowakisch
	}
	public void setSlowenisch(){
		//Slowenisch
	}
	public void setSpanisch(){
		//Spenisch
	}
	public void setTscheschich(){
		//Tscheschich
	}
	
	public void setTuerkisch(){
		//Türkisch
	}
	public void setUngarisch(){
		//Ungarisch
	}
	
	
	
	
	public void testMain(Object[] args) 
	{
		
		


	}
}

Kann mir jemand sagen, wie ich im konstruktor eine methode aufrufen kann mit hilfe eines parameters... parameter bulgarisch ... ruft methode bulgarisch auf.

oder macht man sowas anders?
 
So wie immer wenn man aus einem Objekt eine Methode desselben Objektes aufruft...

Was war die Frage noch gleich?
 
Code:
String lan = "chinese";
if( lan.equalsToIgnoreCase("chinese")){
//do chinese stuff
}

so zb. obwohl mir das zumeist nicht so gefällt
über Locale gehen, oder über final Strings evtl
 
maki hat gesagt.:
.. oder Enums 😉

wäre auch möglich. Da Locale ISO-639 implementiert (also die 2-stelligen Ländercodes)
wäre die schon recht sicher und va Erweiterbar

EDIT:
ISO-3166 ist Ländercode (ISO Country Code)
ISO-639 ist Sprachcode (ISO Language Code)

implemeniert beides...hab mich oben noch verschrieben
 
ok... klar .. mit einer if abfrage kann ich da smachen...

wie ihr seht heißen meine methoden aber alle



set + Sprache

ich möchte ansich per parameter diesen wert übergeben, damit ich eben ncith mit if arbeiten muss...


z.b.

paramter String setGriechisch

und dann

setGriechisch();

muss ich das mit if machen?

Soll ich da süberhaupt mit set methoden machen?

oder soll ich den code in alle methoden doppelt rein schrieben..


//Klick des speichern
button_speichernsubmit().click();

//Button zurück zum Hauptmenü
image_btnExitGif().click();

Im kosntruktor wäre dann der erste teil zumindest nciht doppelt...

mir würde es lieber gefallen:


objekt.setLand(); aufrufen zu können als einen parameter zu übergeben
 
also würdest du das mit parametern machen?

zudem ergibt sich noch folgendes problem...

ich möchte auch eine mehtode haben, die mir alle länder selektiert... aber so, das ich da ne shcleife machen kann.. in eine randeren klasse... dafür müsste ich die eiznelnen methoden in eine liste packen, was ja ncith geht.. wie realisier ich dann sowas?
 
sorry hatte editiert:

zudem ergibt sich noch folgendes problem...

ich möchte auch eine mehtode haben, die mir alle länder selektiert... aber so, das ich da ne shcleife machen kann.. in eine randeren klasse... dafür müsste ich die eiznelnen methoden in eine liste packen, was ja ncith geht.. wie realisier ich dann sowas?
 
Der Müde Joe hat gesagt.:
Ich weiss ja nicht was du machen willst damit. Evtl. suchst
du auch sowas:
http://java.sun.com/javase/6/docs/api/java/util/ResourceBundle.html

aber soweit ich das beurteilen kann, If mit Locale

ne ist leider auch nciht da swas ich suche


zur erläuterung.

ich habe eine wbeanwendung, welche verscheidnee sprachen unterstützt.
ich möchte diese anwendung benutzen/testen mit jeder sprache.

also erzeuge ich mir eine klasse Laender, wo ich mittels methoden die sprache umstellen kann.
eine methode sollte mir aber eine liste übergeben, welche ich mit einer shcleife und wieteren anweisungen durchlaufen lassen kann,

methode sprache deutsch
anweisung1
anweisung 2

methode sprache englisch
anweisung1
anweisung2


etc
 
vielleicht so etwa:
Code:
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;

public class Lan {
	
	public static final Locale GERMAN = new Locale("de");
	public static final Locale ENGLISH = new Locale("en");
	
	
	private final List<Locale> locales;


	
	public Lan(){
		locales = new ArrayList<Locale>();
		locales.add(GERMAN);
		locales.add(ENGLISH);
	}
	
	
	public void setLanguage(Locale locale){
		if (locale.equals(GERMAN)){
			//set german
			System.out.println("isGerman");
		} else if(locale.equals(ENGLISH)){
			////set English
			System.out.println("isEnlish");
		}	
	}
	
	public List<Locale> getLanguages(){
		return locales;
	}
	
	public static void main(String[] args){
		Lan l = new Lan();
		for(Locale local : l.getLanguages()){
			System.out.println(local);
		}
		
		l.setLanguage(l.ENGLISH);
	}
}
 
ich hab mir das jetzt etwas länger angeschaut... danke shconmal für die große mühe.

irgendwie werde ich daraus aber nciht ganz schlau.


was habe ich von locale?

ich muss ja doch wieder mit if eine abfrage machen um welches land es sich handelt.
innerhalb der if bedingung kann ich dnan sagen anweisung 1
anweisung 2


allerdings wenn ich dann alle länder setzen will klappt das mit der for schleife nicht, denn dort werden ja nciht alle if bedingungen abgearbeitet sondern nur die variable local ausgegeben.


dieser ausdruck l.setLanguage(l.ENGLISH);

bring tmir die englische sprache...

sowas bräuchte ich für alle länder...
l.setLanguage(l.ALLELAENDER);

und dann eben in eienr schleife
das ich nach jedem land wietere anweisungen dazu nhemen kann bis er das nächste ausliest
 
Kannst du mal kurz erklären was du mit der Sprache genau anstellen willst?
Also was macht die Methode set<Sprache> genau?
Werden Abhängig von der Sprache verschiedene Funktionalitäten angeboten oder einfach nur Texte in der jeweiligen Sprache dargestellt?

ms
 
es handelt sich um eine webseite

diese besitzt einen link Einstellungen.
Dort kann mittels button "Sprache ändern" die Sprache geändert werden (Radio Select).
Wenn man die sprache umgestellt hat hat sich der seitentext geändert.
dann kann man dinge in formularfelder eintippen und abschicken

ich möchte automatisiert zunächst sprache 1 (z.b. deutsch) auswählen lassen und anschliessend das formular mit werten füllen und abschicken.

anschliessend soll die zweite sprache ausgewählt werden und wieder das formular ausgefüllt werden etc.
 
Also nur Texte darstellen oder wie?
Wer befüllt das Formular, ein Programm, ein User, ...?

ms
 
das html formular befüllt das programm.


"also nur texte darstellen oder wie"
naja wie gesagt, die webseite wird dann auf einer anderen sprache dargestellt...

die websiete existiert bereits.. ich nutze java nur um die websiete auf fehler zu überoprüfen , z.b. nach updates

ich habe jetzt eine weitere idee gehabt... evt. kannst du/ihr ja damit mehr anfangen.. bzw es umschrieben

Code:
package einstellungen;
import java.util.LinkedList;

import resources.einstellungen.LaenderHelper;
import com.rational.test.ft.*;
import com.rational.test.ft.object.interfaces.*;
import com.rational.test.ft.object.interfaces.SAP.*;
import com.rational.test.ft.object.interfaces.siebel.*;
import com.rational.test.ft.object.interfaces.flex.*;
import com.rational.test.ft.script.*;
import com.rational.test.ft.value.*;
import com.rational.test.ft.vp.*;

/**
 * Description   : Functional Test Script
 * @author bmr
 */
public class Laender extends LaenderHelper
{
	/**
	 * Script Name   : [b]AlleSprachen[/b]
	 * Generated     : [b]19.02.2008 12:27:07[/b]
	 * Description   : Functional Test Script
	 * Original Host : WinNT Version 5.1  Build 2600 (S)
	 * 
	 * @since  2008/02/19
	 * @author bmr
	 */
	
	String def;
	
	
	public Laender(){
		//Klick auf Einstellungen
		link_opt().click();
		
		//Klick auf den Button ändern 
		button_ändernsubmit().click();
		
		

	}
	
	public Laender(String def){

		//Klick auf den Button speichern
		button_speichernsubmit().click();
		
		//Button zurück zum Hauptmenü
		image_btnExitGif().click();
		
	}
	
	
	public void setBulgarisch(){
		//Bulgarisch
				
		//Auswahl der Ländersprache
		radioButton_languageBG().click();
		Laender eins = new Laender(def);
		
		
	}
	
	public void setDaenisch(){
		//Dänisch
	}
	
	public void setEnglisch(){
		//Englisch
	}
	
	public void setFinnisch(){
		//Finnisch
	}
	public void setFranzoesisch(){
		//Französisch
	}
	public void setGriechisch(){
		//Griechisch
	}
	public void setItalienisch(){
		//Italienisch
	}
	public void setKroatisch(){
		//Kroatisch
	}
	public void setLitauisch(){
		//Litauisch
	}
	public void setNiederlaendisch(){
		//Niederländisch
	}
	public void setNorwegisch(){
		//Niederländisch
	}
	public void setPolnisch(){
		//Polnisch
	}
	public void setPortugiesisch() {
		//Portugiesisch
	}
		
	public void setRumaenisch(){
		//Rumänisch
	}
	public void setRussisch(){
		//Russisch
	}
	public void setSchwedisch(){
		//Schwedisch
	}
	public void setSerbisch(){
		//Serbisch
	}
	public void setSlowakisch(){
		//Slowakisch
	}
	public void setSlowenisch(){
		//Slowenisch
	}
	public void setSpanisch(){
		//Spenisch
	}
	public void setTscheschich(){
		//Tscheschich
	}
	
	public void setTuerkisch(){
		//Türkisch
	}
	
	public void setUngarisch(){
		//Ungarisch
		
	}
	
	
		
	
	public void testMain(Object[] args) 
	{
		
		


	}
}



Code:
public class TestLaenderEinstellungen extends TestLaenderEinstellungenHelper
{
	/**
	 * Script Name   : [b]TestLaenderEinstellungen[/b]
	 * Generated     : [b]21.02.2008 11:00:17[/b]
	 * Description   : Functional Test Script
	 * Original Host : WinNT Version 5.1  Build 2600 (S)
	 * 
	 * @since  2008/02/21
	 * @author bmr
	 */
	public void testMain(Object[] args) 
	{
		Laender eins = new Laender();
		eins.setBulgarisch();
	}
}

ich kann mir nicht vorstellen, dass man sowa sso programmiert?

so hätte ich aber doppelten code vermieden.
 
so sieht die klasse jetzt aus:

Code:
package einstellungen;
import java.util.LinkedList;

import resources.einstellungen.LaenderHelper;
import com.rational.test.ft.*;
import com.rational.test.ft.object.interfaces.*;
import com.rational.test.ft.object.interfaces.SAP.*;
import com.rational.test.ft.object.interfaces.siebel.*;
import com.rational.test.ft.object.interfaces.flex.*;
import com.rational.test.ft.script.*;
import com.rational.test.ft.value.*;
import com.rational.test.ft.vp.*;

/**
 * Description   : Functional Test Script
 * @author bmr
 */
public class Laender extends LaenderHelper
{
	/**
	 * Script Name   : [b]AlleSprachen[/b]
	 * Generated     : [b]19.02.2008 12:27:07[/b]
	 * Description   : Functional Test Script
	 * Original Host : WinNT Version 5.1  Build 2600 (S)
	 * 
	 * @since  2008/02/19
	 * @author bmr
	 */
	
	String def;
	
	
	public Laender(){
		//Klick auf Einstellungen
		link_opt().click();
		
		//Klick auf den Button ändern 
		button_ändernsubmit().click();
		
		

	}
	
	public Laender(String def){

		//Klick auf den Button speichern
		button_speichernsubmit().click();
		
		//Button zurück zum Hauptmenü
		image_btnExitGif().click();
		
	}
	
	
	public void setBulgarisch(){
		//Bulgarisch
				
		//Auswahl der Ländersprache
		radioButton_languageBG().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
		
	}
	
	public void setDaenisch(){
		//Dänisch
		
        //Auswahl der Ländersprache
		radioButton_languageDK().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
		
	}
	
	public void setEnglisch(){
		//Englisch
		
		//Auswahl der Ländersprache
		radioButton_languageGB().click();
        //Einstellungen speichern
		Laender eins = new Laender(def);
	}
	
	public void setFinnisch(){
		//Finnisch
		
		//Auswahl der Ländersprache
		radioButton_languageFI().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
	}
	
	public void setFranzoesisch(){
		//Französisch
		
		//Auswahl der Ländersprache
		radioButton_languageFR().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
	}
	
	public void setGriechisch(){
		//Griechisch
		
		//Auswahl der Ländersprache
		radioButton_languageGR().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
	}
	
	public void setItalienisch(){
		//Italienisch
		
		//Auswahl der Ländersprache
		radioButton_languageIT().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
	}
	
	public void setKroatisch(){
		//Kroatisch
		
		//Auswahl der Ländersprache
		radioButton_languageHR().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
	}
	
	public void setLitauisch(){
		//Litauisch
		
		//Auswahl der Ländersprache
		radioButton_languageLT().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
	}
	
	public void setNiederlaendisch(){
		//Niederländisch
		
		//Auswahl der Ländersprache
		radioButton_languageNL().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
	}
	public void setNorwegisch(){
		//Niederländisch
		
		//Auswahl der Ländersprache
		radioButton_languageNO().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
	}
	
	public void setPolnisch(){
		//Polnisch
		
		//Auswahl der Ländersprache
		radioButton_languagePL().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
	}
	
	public void setPortugiesisch() {
		//Portugiesisch
		
		//Auswahl der Ländersprache
		radioButton_languagePT().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
	}
		
	public void setRumaenisch(){
		//Rumänisch
		
		//Auswahl der Ländersprache
		radioButton_languageRO().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
	}
	
	public void setRussisch(){
		//Russisch
		
		//Auswahl der Ländersprache
		radioButton_languageRU().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
	}
	
	public void setSchwedisch(){
		//Schwedisch
		
		//Auswahl der Ländersprache
		radioButton_languageSE().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
	}
	
	public void setSerbisch(){
		//Serbisch
		
		//Auswahl der Ländersprache
		radioButton_languageCS().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
	}
	
	public void setSlowakisch(){
		//Slowakisch
		
		//Auswahl der Ländersprache
		radioButton_languageSK().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
	}
	
	public void setSlowenisch(){
		//Slowenisch
		
		//Auswahl der Ländersprache
		radioButton_languageSI().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
	}
	
	public void setSpanisch(){
		//Spanisch
		
		//Auswahl der Ländersprache
		radioButton_languageES().click();
        //Einstellungen speichern
		Laender eins = new Laender(def);
	}
	public void setTscheschich(){
		//Tscheschich
		
		//Auswahl der Ländersprache
		radioButton_languageCZ().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
	}
	
	public void setTuerkisch(){
		//Türkisch
		
		//Auswahl der Ländersprache
		radioButton_languageTR().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
	}
	
	public void setUngarisch(){
		//Ungarisch
		
		//Auswahl der Ländersprache
		radioButton_languageHU().click();
		//Einstellungen speichern
		Laender eins = new Laender(def);
		
	}
	
	
	
	public void testMain(Object[] args) 
	{
		
		


	}
}

jemand noch ideen?
 
Warum versuchst du es denn nicht mit der Array List? du übergibst anfangs deine Länder in eine List und weißt dadurch an welcher Stelle welches Element steht... wenn du nun ein bestimmtes Land ausgewählt hast übernimmst du dieses aus der Liste... Wenn du nur bestimmte Länder ausgewählt hast sortierst du Liste dementsprechend neu und durchgehst sie mit einer Schleife.. nach der Art Erster Schleifendurchgang´= ertse Sprache --> Fülle Felder --> schicke ab--> 2.Schleifendurchgang nächste Sprache...

Gruß

dumbi
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben