auf Variablen von Methoden einer anderen Klasse zugreifen

Status
Nicht offen für weitere Antworten.
C

Coder0815

Gast
hallo allerseits!

wie kann ich aus einer private methode in klasse A auf eine variable in einer public methode in klasse B zugreifen?

geht das in etwa so?


Code:
 private void progressPropertyChange(java.beans.PropertyChangeEvent evt) {
  player.progress(microseconds);
     
    }


die entsprechende methode in der klasse B lautet:

Code:
public void  progress(int bytesread, long microseconds, byte[] pcmdata, Map properties)
	{
		
		display("progress : "+properties.toString());
            
	}


beim compilieren bekomme ich immer die fehlermeldung das er die variable "microseconds" nicht kennt.
 

dotlens

Top Contributor
in Klasse B hast du ja nicht einmal eine variable microseconds, jedenfalls nicht in dem Teil den du geposted hast.
du erwartest lediglich eine long var und gibst ihr den namen microsendoncs. das nennt man parameter....
 

foobar

Top Contributor
wie kann ich aus einer private methode in klasse A auf eine variable in einer public methode in klasse B zugreifen?
Das geht nicht. Du kannst lediglich auf Member anderer Klassen zugreifen, sofern der Modifier das zulässt.
 

Snape

Bekanntes Mitglied
Außerdem erwartet die Methode progress(...) 4 Parameter und Du übergibst nur einen, dazu noch an der falschen Stelle.
 
C

Coder0815

Gast
ok. Hab mal wieder was dazugelernt :wink:

Dann probiere ich es mal anders.
Es geht um die Variable
Code:
sek
die in Klasse A folgender Methode steht:

Code:
public  void  progress(int bytesread, long microseconds, byte[] pcmdata, Map properties)
	{
           
            int sek = (int) (microseconds/1000);       
            display("progress : "+properties.toString());       
             
        }


Auf diese Variable möchte ich nun in Klasse B aus folgender Methode zugreifen:


Code:
 private void  seek (){
            
            // Hier soll der Wert der Variable sek aus obiger Methode an den JSlider Wert übergeben werden
            progress.setValue(sek);   //progress ist ein JSlider der pro Sekunde einen Tick weitergehen soll. P.S.: Hier passiert natürlich jetzt noch nix ;-)
            
             
	}


Geht das?
 

Snape

Bekanntes Mitglied
Moin,
klare Antwort: nein.

Begründung:
1. Die Variable sek ist nur innerhalb der Methode progress(...) sichtbar, weil sie dort deklariert wird.
2. Woher soll die Variable denn kommen in
progress.setValue(sek);
wenn diese Zeile in einer Methode einer anderen Klasse ausgeführt wird, in der die Variable sek nicht im geringsten bekannt ist?

Lösungsansatz:
Die Sichtbarkeit muss von methodenweit auf instanzweit ausgedehnt werden. Dazu gibt es eine dreckige und eine saubere Lösung:
a) sek wird als public int in der Klasse A deklariert und wird damit zur Instanzvariable - jede Instanz dieser Klasse verfügt dann über die Eigenschaft sek (dreckig weil nicht sauber OO und keine Kapselung)
b) sek wird als private int in der Klasse A deklariert und eine zugehörige public getter-Methode liefert den Inhalt
Code:
class A
{
 private int sek = 0;

 public int getSekValue()
 {
   return sek;
 }
}

(saubere Lösung, OO und gekapselt)

Dann musst Du nur noch in Klasse B die Zeile anpassen in so etwas:
progress.setValue(referenceToClassA.getSekValue());

Für die dreckige Lösung sähe die Zeile so aus:
progress.setValue(referenceToClassA.sek);
 
C

Coder0815

Gast
Danke soweit schon mal! Aber leider funktioniert das ganze nicht so wie ich mir das vorstelle.

Ich versuche jetzt ein MP3-File einzulesen und den JSlider pro x kB nach vorne zu bewegen. Dazu hab ich folgendes geschrieben:

Code:
private void progr() {
int dateigroesse;
       
         
try { 
                           
  int filesize = (int) fileName.length();    // Dateigröße ermitteln 
  byte[] data = new byte[filesize];   // Genügend großes Array erzeugen 
  // Einen Stream erzeugen, mit dem die Datei gelesen wird 
  DataInputStream in = new DataInputStream(new FileInputStream(fileName)); 
  in.readFully(data);  // Dateiinhalt in das Array einlesen 
  in.close(); 
  dateigroesse= filesize/1024;
  progress.setMaximum(dateigroesse);
  progress.setValue(dateigroesse);
  
  for (int i=0; i<=dateigroesse; i+=1024){
    
      progress.setValue(i);
 }
} 
  catch (IOException e) { e.printStackTrace();}

 
    }

Der JSlider bewegt sich aber keinen Millimeter. Wat mach ich nu falsch???
:bahnhof:
 
C

Coder0815

Gast
Vielleicht sollte ich noch erwähnen das fileName die Variable in folgender Methode ist , die die Datei öffnet:

Code:
 private void openMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
        FileDialog fileDialog = new FileDialog(this, "Open...", FileDialog.LOAD);
        fileDialog.show();
        if (fileDialog.getFile() == null)
            return;
        fileName = fileDialog.getDirectory() + File.separator + fileDialog.getFile();
        player.oeffnen(fileName);
        anzeige.setText(fileName);
        fileStatus=true;
       
    }
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
B Variablen von Methoden übertragen Java Basics - Anfänger-Themen 2
T Körper Brechnung - Lokale Variablen in Methoden übergeben Java Basics - Anfänger-Themen 10
J Klassen Variablen in andere Klassen oder Methoden übernehmen Java Basics - Anfänger-Themen 1
D Statische Variablen/Methoden Java Basics - Anfänger-Themen 3
K Welchen Typ haben Variablen in Default-Methoden und in statischen Methoden in Schnittstellen? Java Basics - Anfänger-Themen 4
B Variablen global abspeicher innerhalb von Methoden Java Basics - Anfänger-Themen 7
H Methoden und Variablen Java Basics - Anfänger-Themen 3
M Interface Variablen und Methoden Java Basics - Anfänger-Themen 5
S ActionListener, Methoden und Variablen Java Basics - Anfänger-Themen 4
DaniSahne96 Methoden Variablen aus Methoden benutzen Java Basics - Anfänger-Themen 11
X OOP Methoden und Variablen in anderer Klasse verwenden Java Basics - Anfänger-Themen 5
J Arrays, Variablen an andere Methoden weitergeben Java Basics - Anfänger-Themen 3
U Mit Methoden Variablen in main ändern Java Basics - Anfänger-Themen 7
C Variablen zwischen Methoden übergeben Java Basics - Anfänger-Themen 9
G Methoden-Parameter und Return Statements mit variablen Daten Java Basics - Anfänger-Themen 3
G Methoden + variablen als final definieren? Java Basics - Anfänger-Themen 3
G Übertragen von Variablen auf andere klassen oder Methoden Java Basics - Anfänger-Themen 2
A Problem: Aufruf von Methoden mit Variablen Java Basics - Anfänger-Themen 7
D Wie kann Variablen,Methoden Klassenübergreifend zugreifen? Java Basics - Anfänger-Themen 4
D Funktionen/Methoden/Variablen includieren? :) Java Basics - Anfänger-Themen 4
D static Methoden/Variablen Java Basics - Anfänger-Themen 11
O Welcher Object-Lock-Pool bei static Variablen? Java Basics - Anfänger-Themen 3
T variablen klassen übergreifend Java Basics - Anfänger-Themen 12
T Variablen Java Basics - Anfänger-Themen 1
N Verständnis Frage zu Variablen Java Basics - Anfänger-Themen 3
M Aufsummieren von variablen Wertegrößen Java Basics - Anfänger-Themen 17
M Mehrere Daten/ Variablen Speichern Java Basics - Anfänger-Themen 9
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
ashi Variablen aufrufen Java Basics - Anfänger-Themen 17
U Warum kann ich, auf private Variablen zugreifen, wenn ich ein Objekt in der Klasse, die private Variablen hat erstelle und dort drauf zugreifen will? Java Basics - Anfänger-Themen 7
B Konkatenieren eines Strings und inkremtierenden Zahl zu einer INT Variablen Java Basics - Anfänger-Themen 7
A 2 Strings vergleichen in einer methode wenn man mit Globalen variablen arbeitet Java Basics - Anfänger-Themen 12
C Konstruktoren und Variablen Java Basics - Anfänger-Themen 42
F Auf Variablen eines Konstruktors zugreifen Java Basics - Anfänger-Themen 4
N Variable aus anderen Variablen in statischer Klasse berechnen/abspeichern? Java Basics - Anfänger-Themen 4
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
M Warum dürfen Objekte einer Klasse auf statische Variablen dieser Klasse referenzieren? Java Basics - Anfänger-Themen 10
B Variablen Variablen übertragen ohne Klassen Java Basics - Anfänger-Themen 5
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
Arif Vererbung Methodenvererbung mit finalen Variablen Java Basics - Anfänger-Themen 1
M Wie kann ich ein Objekt erstellen, wenn sich der Klassenname in einer Variablen befindet? Java Basics - Anfänger-Themen 10
S Variablen Variablen in einer Schleife erstellen lassen Java Basics - Anfänger-Themen 11
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
F Variablen Werte einer Klasse überschreiben Java Basics - Anfänger-Themen 4
N Speichern von Werten in Variablen nach Schließen des Programms Java Basics - Anfänger-Themen 3
J Frage dazu Variablen klassenübergreifend zu verändern Java Basics - Anfänger-Themen 22
M Java Instanz-Variablen ? Java Basics - Anfänger-Themen 3
M Variablen umbenennen Java Basics - Anfänger-Themen 1
P Zugriff auf Variablen anderer Klassen in Greenfoot Java Basics - Anfänger-Themen 1
mars90 Fehler in der Variablen Deklaration Java Basics - Anfänger-Themen 8
E Variablen in formatierter Ausgabe Java Basics - Anfänger-Themen 15
V Schleife für das Einlesen von Werten für int Variablen, die Bestandteil von Arrays sein sollen Java Basics - Anfänger-Themen 16
M Komisches Verhalten der Variablen Java Basics - Anfänger-Themen 6
H Variablen Multiplikation einer inkrementierten Variablen Java Basics - Anfänger-Themen 5
scratchy1 Variablen vertauschen wenn Bedingung "umgedreht" wird Java Basics - Anfänger-Themen 40
J Variablen mit einer anderen Klasse bekannt machen Java Basics - Anfänger-Themen 7
C Methoden Problem beim Speichern von Variablen Java Basics - Anfänger-Themen 1
A Übergreifende Variablen Java Basics - Anfänger-Themen 17
A Variablen Verständnisfrage bzgl. Variablen/Referenzen Java Basics - Anfänger-Themen 3
H Variablen Methode zum Abfragen von Variablen aus Subklassen Java Basics - Anfänger-Themen 9
P Variablen Variablen voneinander abhängig Java Basics - Anfänger-Themen 54
F Liste nach einer Variablen sortieren Java Basics - Anfänger-Themen 6
L Variablen in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
M For-Schleife durch zwei versch. Variablen begrenzen Java Basics - Anfänger-Themen 27
P Liste auslesen und in Variablen speichern Java Basics - Anfänger-Themen 7
temi Redundante Variablen Java Basics - Anfänger-Themen 29
Aprendiendo Zweifel mit versteckter Variablen Java Basics - Anfänger-Themen 16
L Variablen einmal nur zu weisen Java Basics - Anfänger-Themen 62
R Abfrage von Variablen in Unterklassen einer ArrayList Java Basics - Anfänger-Themen 9
M Listener für Button - Wert von Variablen verändern Java Basics - Anfänger-Themen 14
S Vererbung Variablen klassenübergreifend nutzen Java Basics - Anfänger-Themen 42
R Auf Variablen einer anderen Klasse zugreifen? Java Basics - Anfänger-Themen 1
D Fehlermeldung obwohl Variablen bereits deklariert sind? Java Basics - Anfänger-Themen 14
E 2 Probleme - Datum & private finale Variablen Java Basics - Anfänger-Themen 5
Aruetiise Variablen JFrame und Variablen Java Basics - Anfänger-Themen 3
L Variablen dekleration + reset Java Basics - Anfänger-Themen 16
T Übernahme einer Variablen im ActionListener/ActionEvent Java Basics - Anfänger-Themen 2
D Kapselung final Variablen mit Getter? Java Basics - Anfänger-Themen 2
C Variablen von einem JFrame in einen anderen übertragen Java Basics - Anfänger-Themen 3
P Interface Variablen-Inhalte werden nicht übergeben Java Basics - Anfänger-Themen 3
C Variablen in Schleifen außerhalb verwenden Java Basics - Anfänger-Themen 2
S Variablen Flexible Variablen Namen Java Basics - Anfänger-Themen 3
R Erste Schritte 3 Variablen hochzählen lassen Java Basics - Anfänger-Themen 1
RowdyN Variablen Variablen beliebig benennen? Java Basics - Anfänger-Themen 6
S OOP Variablen zwischen mehreren Klassen Java Basics - Anfänger-Themen 11
T Koordinatensystem zeichnen - Variablen merken? Quadratische Funktion zeichnen? Java Basics - Anfänger-Themen 5
H Variablen einer Schleife zwischenspeichern Java Basics - Anfänger-Themen 2
P Klassen Variablen von einer Klasse zur anderen Java Basics - Anfänger-Themen 5
H Objekt überschreibt Variablen vorheriger Objekte Java Basics - Anfänger-Themen 2
P Variablen in Excel speichern Java Basics - Anfänger-Themen 6
S PHP Aufruf mit mehreren Variablen Java Basics - Anfänger-Themen 2
F Variablen unterschiedlicher Datentypen Java Basics - Anfänger-Themen 6
S ActionListener und Statische Variablen Java Basics - Anfänger-Themen 4
Arif Vererbung Vererbung Variablen überschreiben Java Basics - Anfänger-Themen 1
L Vergleich zweier Variablen, mit Abweichung Java Basics - Anfänger-Themen 3
P Variablen einer Methode in andere Method übergeben Java Basics - Anfänger-Themen 6
G Variablen Verwendung von Variablen in anderer Klasse Java Basics - Anfänger-Themen 6
P Textfelder in Variablen speichern Java Basics - Anfänger-Themen 13
K arraygröße durch variablen Konstruktor? Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben