Arrayübergabe, ich komme nicht weiter

Status
Nicht offen für weitere Antworten.
Hallo zusammen,

ich bin der neue hier und begrüße erstmal alle.
Da ich mich seit kurzem mit Java beschäftige ist mir dieses Forum in Auge gefallen und hat mir sofort gefallen. Da ich bis jetzt alle Probleme mit Hilfe von Google lösen konnte musste ich das geballte Wissen des Forums noch nicht in Anspruch nehmen, doch jetzt ist es soweit.
Was Programmieren angeht bin ich relativ unerfahren, bis jetzt nur etwas C. Leider hilft mir das bei Java nur bedingt. Um mich aber einzuarbeiten habe ich direkt mal ein kleines Projekt gestartet. Um das lernen interessanter zu gestalten. Ich habe mir vorgenommen ein kleines Statistikprogramm zu entwickeln das auch bei kleineren Veranstaltungen zum Einsatz kommen soll. Dabei geht es darum festzuhalten weiviel von einem Artikel verkauft wurde und wieviel noch verkauft werden muss um die Gewinnschwelle zu erreichen. Beispielsweise wurden 20 x Gummibärchen für 10€ gekauft und bereits 10 x Gummibärchen verkauft macht also ein Umsatz von 10€ und bis die Gewinnschwelle erreicht ist müssen nochmal 10€ eingenommen werden.

So aber jetzt zu meinem eigentlichen Problem.
Erstmal mein bisheriger Code:

Main Class
Java:
package main;
import javax.swing.*;
import java.awt.*;
import shop.functions.*;
import shop.grafical.*;

public class Main 
{		
	public static void main(String[] args)
	{
		ArtikelList liste = new ArtikelList();
		new MainMenue();
	}
	
}

MainMenue Class
Java:
package shop.grafical;
import java.awt.event.ActionEvent;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JLabel;
import shop.functions.*;


public class MainMenue extends JFrame
{
	private JFrame menue;
	private JButton arti_neu;
	private JButton arti_zeigen;
	private JButton vmenue;
	private JButton ende;
	private JButton einkauf;
	private JLabel copy;
	private JLabel header;
	
	public MainMenue()
	{
		menue = new JFrame("Info System");
		menue.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		menue.setSize(400,420);
		menue.setVisible(true);
		menue.setLocationRelativeTo(null);
		
		//Layoutmanager abschalten Layout kann manuell gesetzt werden
		menue.setLayout(null);
		
		//Buttons anlegen
		arti_neu = new JButton("Artikel hinzufügen");
		arti_zeigen = new JButton("Artikel anzeigen");
		vmenue = new JButton("Verkauf starten");
		ende = new JButton("Programm ende");
		einkauf = new JButton("Aufwendungen");
		header = new JLabel("Info System Alpha 0.01");
		copy = new JLabel("© Author");
		
		arti_neu.setBounds(50,30,300,50);
		menue.add(arti_neu);
		arti_zeigen.setBounds(50,85,300,50);
		menue.add(arti_zeigen);
		einkauf.setBounds(50,140,300,50);
		menue.add(einkauf);
		vmenue.setBounds(50,195,300,50);
		menue.add(vmenue);
		ende.setBounds(50,250,300,50);
		menue.add(ende);
		header.setBounds(70,320,300,30);
		menue.add(header);
		copy.setBounds(150,335,300,30);
		menue.add(copy);
		
		menue.addWindowListener(new WindowListener() 
		{

			public void windowClosed(WindowEvent arg0) 
			{
				System.exit(0);
			}

			public void windowActivated(WindowEvent e) {}
			public void windowClosing(WindowEvent e) {}
			public void windowDeactivated(WindowEvent e) {}
			public void windowDeiconified(WindowEvent e) {}
			public void windowIconified(WindowEvent e) {}
			public void windowOpened(WindowEvent e) {}
		});
		
		arti_neu.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent arg0)
			{
				Artikel_add add = new Artikel_add();
			}
		});
		
		ende.addActionListener(new ActionListener()
		{
			public void	actionPerformed(ActionEvent arg0)
			{
				System.exit(0);
			}
		});
	}	
}

Java:
package shop.grafical;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JFrame;
import main.*;
import shop.functions.Artikel;
import shop.functions.ArtikelList;

public class Artikel_add 
{	
	private JTextField e_name;
	private JTextField e_preis;
	private JLabel header;
	private JLabel head_name;
	private JLabel head_preis;
	private JFrame menue;
	private JButton save;
	private JButton reset;
	
	public Artikel_add()
	{
		menue = new JFrame("Artikel hinzufügen");
		menue.setSize(500,400);
		menue.setVisible(true);
		menue.setLocationRelativeTo(null);
		menue.setLayout(null);
		
		e_name = new JTextField();
		e_preis = new JTextField();
		header = new JLabel("Bitte Artikel Daten eingeben");
		head_name = new JLabel("Artikel Name");
		head_preis = new JLabel("Artikel Preis");
		save = new JButton("Speichern");
		reset = new JButton("Reset");
	
		header.setBounds(30,10,200,30);
		menue.add(header);
		head_name.setBounds(30,60,200,30);
		menue.add(head_name);
		e_name.setBounds(30,95,400,30);
		menue.add(e_name);
		head_preis.setBounds(30,135,200,30);
		menue.add(head_preis);
		e_preis.setBounds(30,170,400,30);
		menue.add(e_preis);
		
		save.setBounds(100,280,140,35);
		menue.add(save);
		reset.setBounds(250,280,140,35);
		menue.add(reset);
		
		reset.addActionListener(new ActionListener()
		{
			public void	actionPerformed(ActionEvent arg0)
			{
				menue.dispose();
				Artikel_add add = new Artikel_add();
			}
		});
		
		save.addActionListener(new ActionListener()
		{
			
			float p = 0;
			float x = 0;
			String s;
			
			public void actionPerformed(ActionEvent arg0)
			{					
				try
				{
					p = Float.parseFloat(e_preis.getText());
					s = e_name.getText();
				}
				catch(NumberFormatException e)
				{
					
				}
				
				Artikel art = new Artikel();
				art.setArtikel(s, p, x);
			}
		});		
	}
}

So ich habe jetzt ein array vom typ ArtikelList in dem die Artikel zum bearbeiten liegen sollen im Main erzeugt. Nur wie ist es mir möglich dieses Array im MainMenue beim entsprechenden ActionListener zu nutzen? Es muss ja nochmals weitergegeben werden an das Menue Artikel_add, hier sollen dann die relevanten Daten eingegeben werden und an die Methode setArtikel übergeben werden um sie ins Array einzufügen. Ich hoffe das ist so verständlich. Zudem würde ich mich freuen wenn ich noch weiteren feedback zu meinem bisherigen Code bekommen würde. Auch wenn er für einen geübten Programmierer wohl eine Katastrophe sein wird.

Ja dann hoffe ich das mir geholfen werden kann.
 
B

bygones

Gast
einfache die ArtikelListe in MainMenue als instanzvar. speichern
Java:
 public Artikel_add(ArtikelListe liste) {
  this.artikelListe = liste;
dann kannst du sie natuerlich dort verwenden
 
Hallo deathbyaclown,

das ging ja mal schnell. Ich habe es jetzt mal so gemacht. Es geht jetzt auch aber ich muss noch hinzufügen das die übergabe innerhalb der inneren Klasse nur mit final variablen möglich ist. sieht jetzt so aus.

Java:
package shop.grafical;
import java.awt.event.ActionEvent;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JLabel;
import shop.functions.*;


public class MainMenue extends JFrame
{
	private JFrame menue;
	private JButton arti_neu;
	private JButton arti_zeigen;
	private JButton vmenue;
	private JButton ende;
	private JButton einkauf;
	private JLabel copy;
	private JLabel header;
	private final ArtikelList list;
	
	public MainMenue(ArtikelList liste)
	{
		menue = new JFrame("Guns'n Bits Catering Info System");
		menue.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		menue.setSize(400,420);
		menue.setVisible(true);
		menue.setLocationRelativeTo(null);
		
		list = liste;
		
		//Layoutmanager abschalten Layout kann manuell gesetzt werden
		menue.setLayout(null);
		
		//Buttons anlegen
		arti_neu = new JButton("Artikel hinzufügen");
		arti_zeigen = new JButton("Artikel anzeigen");
		vmenue = new JButton("Verkauf starten");
		ende = new JButton("Programm ende");
		einkauf = new JButton("Aufwendungen");
		header = new JLabel("Info System Alpha 0.01");
		copy = new JLabel("© Author");
		
		arti_neu.setBounds(50,30,300,50);
		menue.add(arti_neu);
		arti_zeigen.setBounds(50,85,300,50);
		menue.add(arti_zeigen);
		einkauf.setBounds(50,140,300,50);
		menue.add(einkauf);
		vmenue.setBounds(50,195,300,50);
		menue.add(vmenue);
		ende.setBounds(50,250,300,50);
		menue.add(ende);
		header.setBounds(70,320,300,30);
		menue.add(header);
		copy.setBounds(150,335,300,30);
		menue.add(copy);
		
		menue.addWindowListener(new WindowListener() 
		{

			public void windowClosed(WindowEvent arg0) 
			{
				System.exit(0);
			}

			public void windowActivated(WindowEvent e) {}
			public void windowClosing(WindowEvent e) {}
			public void windowDeactivated(WindowEvent e) {}
			public void windowDeiconified(WindowEvent e) {}
			public void windowIconified(WindowEvent e) {}
			public void windowOpened(WindowEvent e) {}
		});
		
		arti_neu.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent arg0)
			{
				Artikel_add add = new Artikel_add(list);
			}
		});
		
		ende.addActionListener(new ActionListener()
		{
			public void	actionPerformed(ActionEvent arg0)
			{
				System.exit(0);
			}
		});
		
		arti_zeigen.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent arg0)
			{
				new Artikel_show(list);
			}
		});
	}	
}

Ich gehe aber mal davon aus das dies nicht üblich ist. Wie kann man es besser lösen?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Problem mit Arrayübergabe Java Basics - Anfänger-Themen 10
B Variablen keine Arrayübergabe für getter im Interface Java Basics - Anfänger-Themen 8
S java.lang.nullpointerexception bei arrayübergabe Java Basics - Anfänger-Themen 30
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
B Keine Ausgabe .. Woran liegt das? Ich komme nicht weiter Java Basics - Anfänger-Themen 14
P Ich komme nicht mehr weiter bei so einer einfachen Sache... Java Basics - Anfänger-Themen 18
N Ich weiß nicht, wie ich meinen Code richtig designen soll und komme nicht weiter Java Basics - Anfänger-Themen 4
D Komme nicht weiter... Java Basics - Anfänger-Themen 4
N JSON - komme nicht weiter Java Basics - Anfänger-Themen 2
E Taschenrechner problem! Ich komme nicht voran Java Basics - Anfänger-Themen 18
B Erste Schritte Wie komme ich aus Static raus?!! Java Basics - Anfänger-Themen 4
S Komme nicht weiter...:-/ Java Basics - Anfänger-Themen 3
D Endlosschleife und ich komme nicht raus! Java Basics - Anfänger-Themen 8
N Explode in Java (split). Komme nicht weiter. Java Basics - Anfänger-Themen 2
H inputfeld dezimalzahl mit komme statt punkt Java Basics - Anfänger-Themen 12
K Hilfe, komme nicht weiter in meinem JAVA-Spiel Java Basics - Anfänger-Themen 3
A Befehl gesucht....wie komme ich an Folgendes Objekt? Java Basics - Anfänger-Themen 6
S Ich komme mit Java nicht klar Java Basics - Anfänger-Themen 7
0 Calendar - komme nicht weiter mit add Java Basics - Anfänger-Themen 2
J Anfängeraufgabe - komme nicht weiter Java Basics - Anfänger-Themen 2
D DefaultEditorKid komme nicht weiter! Java Basics - Anfänger-Themen 4
M Komme net weiter Java Basics - Anfänger-Themen 7
T Hilfe..ich komme bei Klassen nicht mer weiter Java Basics - Anfänger-Themen 4
E wie komme ich an den key einer hashmap Java Basics - Anfänger-Themen 8
K 50 errormeldungen- komme auch nach vielen Nachmittagen nicht weiter. bitte helfen Java Basics - Anfänger-Themen 39
G Wie komme ich an das Pfadtrennzeichen? Java Basics - Anfänger-Themen 7
G 3. Aufgaben und komme nicht weiter (Felder, Methoden) Java Basics - Anfänger-Themen 3
G J2EE Tutorial . komme nicht weiter Java Basics - Anfänger-Themen 7
F Komme aus der Delphi-Welt und brauch jetz Java. Java Basics - Anfänger-Themen 5
M RegExp mit "Untergruppen" - wie komme ich an die? Java Basics - Anfänger-Themen 4
L Liste in Liste wie komme ich wieder an die Objekte ran Java Basics - Anfänger-Themen 5
G Instanziierung [HILFE ich komme nicht weiter] Java Basics - Anfänger-Themen 10
B Primzahlprüfung, komme nicht weiter Java Basics - Anfänger-Themen 11
G Hilfe komme nicht weiter bei diesen aufgaben Java Basics - Anfänger-Themen 2
J Package kompileren/ausführen - komme nicht weiter Java Basics - Anfänger-Themen 4
P Komme mit relativen Pfadangaben durcheinander Java Basics - Anfänger-Themen 8
K Programm in der main()-Methode starten: Wie? Komme von C++ Java Basics - Anfänger-Themen 11
R komme nicht weiter Java Basics - Anfänger-Themen 10
K komme in meinem stammchat nicht rein. Java Basics - Anfänger-Themen 6
G Owner von JDialog;Komme einfach nicht weiter Java Basics - Anfänger-Themen 4
megachucky nochmal JDBC. komme nicht weiter. Java Basics - Anfänger-Themen 4
D komme heute mit dem DecimalFormat nicht klar... Java Basics - Anfänger-Themen 2
S Wie komme ich an den Text, aus einem JTextfield? Java Basics - Anfänger-Themen 6
C komme nicht klar mit den Threads Java Basics - Anfänger-Themen 5
H komme mit casten nicht klar Java Basics - Anfänger-Themen 3
A "Hello World"-Programm läuft nicht Java Basics - Anfänger-Themen 16
D Regex greift nicht richtig Java Basics - Anfänger-Themen 4
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
richis-fragen JTable Header ausgeblendete (width = 0) nicht per mouseDragged aufziehen. Java Basics - Anfänger-Themen 9
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
S Wie debugge ich dies am besten: SingleThreadExecutor führt Task nicht aus..? Java Basics - Anfänger-Themen 29
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
K Verstehe Rekursion nicht ganz Java Basics - Anfänger-Themen 7
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
K TicTacToe belegtes feld nicht neu besetzbar Java Basics - Anfänger-Themen 1
K TicTacToe belegtes Feld nicht neu besetzbar Java Basics - Anfänger-Themen 3
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
N BMI Rechner Was haltet ihr von dem Code habt ihr Verbesserungsvorschläge weil design teschnisch ist das nicht das geilste würde das gerne überarbeiten Java Basics - Anfänger-Themen 12
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
D MacOS: PDF erstellen geht nicht Java Basics - Anfänger-Themen 1
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
J jar Befehl wird nicht erkannt Java Basics - Anfänger-Themen 7
missy72 Erste Schritte (nicht) Deterministischer endlicher Automat Java Basics - Anfänger-Themen 9
T Getter/Setter - wie sieht ein Setter aus? Und wie nicht? Java Basics - Anfänger-Themen 34
T catch(InputMismatchException) wird nicht ausgefürt/erkannt Java Basics - Anfänger-Themen 12
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
P Netbeans installation geht nicht Java Basics - Anfänger-Themen 26
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
T HashMap Lsite gibt die sachen nicht aus wie gewollt. Java Basics - Anfänger-Themen 3
H Counter durch gepresste Taste nur auf 1 erhöhen und nicht durchzählen lassen Java Basics - Anfänger-Themen 7
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
T scanner nicht erkannt Java Basics - Anfänger-Themen 3
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
monsterherz Fehler Semikolon fehlt - ich weiss aber nicht wo da noch eines hin sollte... Java Basics - Anfänger-Themen 21
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
monsterherz einfache Methode mit Fehler den ich nicht finde Java Basics - Anfänger-Themen 21
monsterherz if / else if mit Fehler den ich leider nicht finde Java Basics - Anfänger-Themen 11
D Jar Datei startet unter Linux nicht Java Basics - Anfänger-Themen 3
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
Darkherobrine9 Import klappt nicht Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben