You are not logged in.

  • Login
Bitte besucht unser neues Forum unter https://forum.nitrado.net | Please visit our new Forum at https://forum.nitrado.net

Nico__2801

User / Kunde

  • "Nico__2801" started this thread

Posts: 63

  • Send private message

1

Wednesday, September 30th 2015, 9:03pm

Object auf ArrayList von anderer Klasse hinzufügen

Hallo,

ich wollte mal fragen, wie es möglich ist, ein Object auf eine ArrayList einer anderen Klasse zu adden.

Java source code

1
2
3
4
5
public class Main extends JavaPlugin implements Listener {
      
     public ArrayList<String> test = new ArrayList<String>();

}


Java source code

1
2
3
4
5
6
public class Whatever {

    String s = " ";
    //test.add(s); <- auf die ArrayList von der Main-Klasse

}

jdev

User / Kunde

  • "jdev" is male

Posts: 178

Location: localhost:21

  • Send private message

2

Wednesday, September 30th 2015, 9:16pm

Ja, in deiner Classe Whatever speicherst du einfach die Main Instanz ab. Diese übergibst du dann im Komstruktor.

private static Main PLUGIN;
public WhatEver(Main instanz) {PLUGIN= Instanz;}

Dann einfach mit PLUGIN.test.add(); Addden

Mfg
Supporten tut man nicht für Anerkennung, Danksagungen, Werbung oder Geld. Man tut es aus Spaß.

Waishon

User / Kunde

  • "Waishon" is male

Posts: 1,349

Location: /home

Thanks: 2

  • Send private message

3

Wednesday, September 30th 2015, 10:49pm

Entweder du machst eine statische Instanz der Klasse:

Java source code

1
public static Main instanz = this;

Dann kannst du über Main.instanz.... drauf zu greifen.
Ich glaube nur, dass man es besser nicht statisch machen sollte, warum ka :)

Andere Möglichkeit:

Java source code

1
2
3
4
5
6
Main instanz;

//Konstruktor
public Whatever(Main instanz) {
this.instanz = instanz;
}

Die Klasse initialisierst du dann mit dem Parameter :)

P.S. Da du jetzt vermutlich versuchst das einfach zu copy pasten und zu hoffen, dass es geht, würde ich dir empfehlen dich mit der Objektorientierten Programmierung zu beschäftigen, denn sowas ist essentiell.

iSEVEN

User / Kunde

  • "iSEVEN" is male

Posts: 1,431

  • Send private message

4

Thursday, October 1st 2015, 12:08am

Einfach extends Main ;)

Nico__2801

User / Kunde

  • "Nico__2801" started this thread

Posts: 63

  • Send private message

5

Thursday, October 1st 2015, 5:09pm

Hallo,

vielen Dank für eure Antworten. Habe es nun wie vorgeschlagen lösen können.

Java source code

1
2
3
4
5
6
7
8
9
10
        private static Main MAIN;
	
	public WhatEver(Main instanz) {
		MAIN = instanz;
	}

       /*
        * String s = "lol";
        * MAIN.test.add(s); 
        */


danke :)

Waishon

User / Kunde

  • "Waishon" is male

Posts: 1,349

Location: /home

Thanks: 2

  • Send private message

6

Thursday, October 1st 2015, 5:12pm

Das Static ist unnötig

tekkitbe

User / Kunde

Posts: 151

  • Send private message

7

Friday, October 2nd 2015, 9:15pm

Einfach extends Main
Bloß nicht!
Dann kriegste nen Error weil's mehrere Mainclasses gibt. Ist mir auch schon passiert

mReTurkey

User / Kunde

Posts: 88

  • Send private message

8

Saturday, October 3rd 2015, 9:33am

In der Main eine private variable erstellen.
Un dann mit getInstance() oder getPl() oder wie auch immer du es nennen mags, abrufen.

Java source code

1
2
3
4
5
6
7
8
9
private static MEINEmainKLASSE myPlugin;

public onEnable(){
  myPlugin = this;
}

public static MEINEmainKLASSE getMyPlugin(){
  return myPlugin;
}


zum beispiel..

Bitte besucht unser neues Forum unter https://forum.nitrado.net| Please visit our new Forum at https://forum.nitrado.net