Problem bei Aufruf einer Funktion

Status
Nicht offen für weitere Antworten.
D

Devilmarkus

Gast
Hello,

please, can someone explain me, how I can call a non-static routine from a static one?

My problem is:
I want to call from jemu.ui.JEMU.java a routine in jemu.system.cpc.CPCDiscImage.java.

JEMU.java:
Code:
............
import jemu.system.cpc.CPCDiscImage.java
............
protected void UserSave(){
CPCDiscImage.UserSave();
}
............


CPCDiscImage.java:
Code:
............
    public synchronized void UserSave() {
   // choose destination file
    final JFileChooser fc = new JFileChooser();
    fc.setDialogTitle("Select destination dsk file...");
    int result = fc.showSaveDialog(null);
    final String newFileName = fc.getSelectedFile().getAbsolutePath();
    
    // create file name '_saved'
     File discImage = new File(newFileName);
    String saveFileName = discImage.getName();
     File savedImage = new File(discImage.getParent(), saveFileName);
    if (System.getSecurityManager() != null) {
      try {
        System.getSecurityManager().checkWrite(savedImage.getAbsolutePath());
      } catch ( SecurityException sex) {
        // son't save
        return;
      }
    }

    System.out.println("store dsk file to " + savedImage);
    name = savedImage.getAbsolutePath();

    // save data to file
    try {
       BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(savedImage));
      // disc information block
      bos.write(EXTENDED_DESCRIPTION.getBytes(ENCODING));
      bos.write(CREATOR_DATA.getBytes(ENCODING));
      bos.write(numberOfTracks);
      bos.write(numberOfSides);
      bos.write(0);
      bos.write(0);

      // track size table
      for (int track = 0; track < numberOfTracks; track++) {
        for (int side = 0; side < numberOfSides; side++) {
           int trackLength = tracks[track][side].getLength();
          bos.write((trackLength / 256) & 0xFF);
        }
      }
      int unused = 0x100 - 0x34 - numberOfTracks * numberOfSides;
      for (int i = 0; i < unused; i++) {
        bos.write(0);
      }

      // track data
      for (int track = 0; track < numberOfTracks; track++) {
        for (int side = 0; side < numberOfSides; side++) {
           CPCDiscImageTrack td = tracks[track][side];
          // track information block
          bos.write(TRACK_INFO.getBytes(ENCODING));
          bos.write(0); // track info end
          bos.write(0); // unused
          bos.write(0); // unused
          bos.write(0); // unused
          bos.write(td.getTrack());
          bos.write(td.getSide());
          bos.write(0); // unused
          bos.write(0); // unused
          bos.write(td.getSector(0).getSize()); // UPD765A size
           int numberOfSectors = td.getSectorCount();
          bos.write(numberOfSectors);
          bos.write(0x4e); // GAP#3 length
          bos.write(0xe5); // filler byte

          // sector information list
          for (int sector = 0; sector < numberOfSectors; sector++) {
             CPCDiscImageSector sd = td.getSector(sector);
            bos.write(sd.getTrack());
            bos.write(sd.getSide());
            bos.write(sd.getId());
            bos.write(sd.getSize()); // UPD765A size
            bos.write(0); // FDC status register 1
            bos.write(0); // FDC status register 2
             int dataSize = sd.getData().length;
            bos.write(dataSize & 0xFF);
            bos.write((dataSize / 256) & 0xFF);
            // System.out.println("sec " + sd.getTrack() + "/" + sd.getSide() + "/" + sd.getId() + "/"
            // + UPD765A.getCommandSize(sd.getSize()) + " size=" + sd.getData().length);
            // System.out.println(" -> " + (dataSize & 0xFF) + " / " + ((dataSize / 256) & 0xFF));
          }
          unused = 0x100 - 0x18 - 8 * numberOfSectors;
          for (int i = 0; i < unused; i++) {
            bos.write(0);
          }
          for (int sector = 0; sector < numberOfSectors; sector++) {
            bos.write(td.getSector(sector).getData());
          }
        }
      }
      bos.close();

    } catch ( IOException iox) {
      System.out.println("can't write to file " + savedImage + ": " + iox.getMessage());
    }
  }
...........

Problem:
Code:
jemu\ui\JEMU.java:1160: non-static method UserSave() cannot be referenced from a static context

It would be great, if somebody can help me...
Cheers, Markus
 

Wildcard

Top Contributor
You cannot just call a regular method from a static context. You want to invoke an object's method, so you need a reference to that object. How else could be determined to which instance of the class you're referning to?
 
D

Devilmarkus

Gast
Wildcard hat gesagt.:
You cannot just call a regular method from a static context. You want to invoke an object's method, so you need a reference to that object. How else could be determined to which instance of the class you're referning to?

I don't know. I am a noob in JAVA. The problem is, that I want to call this function, if a user clicks on a button.

The function lets the user save a disc-image to his pc.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Nicer Problem mit Link aufruf Allgemeine Java-Themen 6
S problem mit externen aufruf Allgemeine Java-Themen 4
Z Problem beim Aufruf eines Listener? Allgemeine Java-Themen 4
A Problem beim Aufruf von javac Allgemeine Java-Themen 7
krgewb Problem mit Umlauten und Eszett bei InputStream Allgemeine Java-Themen 3
Max246Sch Backtracking Problem Box Filler Allgemeine Java-Themen 6
NightVision402 VisualVM Startskript Problem Allgemeine Java-Themen 3
javaBoon86 Email Server Connection Problem Allgemeine Java-Themen 1
F Problem mit PDFBOX Library Allgemeine Java-Themen 1
A Java modul Problem Allgemeine Java-Themen 4
D Read JSON File Problem Allgemeine Java-Themen 9
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
J Problem mit JasperReports Allgemeine Java-Themen 8
M log4j Problem mit jlink Allgemeine Java-Themen 19
8u3631984 Problem beim Mocken von Record Klassen Allgemeine Java-Themen 4
torresbig Website login Problem - Jsoup, wie bisher, klappt nicht! Allgemeine Java-Themen 31
P Selenium . getText Problem Allgemeine Java-Themen 9
A Jar zu Exe Problem Allgemeine Java-Themen 13
sserio Variablen Liste erstellt und ein Problem mit dem Index Allgemeine Java-Themen 6
S Folgendes Problem bei einem Programm Allgemeine Java-Themen 1
stormyark Problem beim Klassen erstellen Allgemeine Java-Themen 1
A Thread.sleep Problem Allgemeine Java-Themen 2
A Problem bei der Nachbarschafttest Allgemeine Java-Themen 11
Splayfer Problem: no main manifest attribute Allgemeine Java-Themen 3
G javamail Problem beim Empfangen von Nachrichten Allgemeine Java-Themen 3
Splayfer JDA Problem mit MessageCounter Allgemeine Java-Themen 0
Splayfer Problem mit BufferedWriter Allgemeine Java-Themen 3
F Streams als Alternative für dieses Problem ? Allgemeine Java-Themen 15
N Maven Problem mit Datenbanktreiber (H2 Embedded) Allgemeine Java-Themen 12
T Problem beim Umwandeln in eine Jar-Datei Allgemeine Java-Themen 3
B Einfach Elemente zweier Arraylisten kreuz und quer vergleichen, min und max Problem? Allgemeine Java-Themen 16
C ArrayList Problem Allgemeine Java-Themen 3
kev34 nim-Spiel problem Allgemeine Java-Themen 1
D Firebase retrieve data Problem, Child Element wird nicht angesprochen Allgemeine Java-Themen 0
G Welches Problem besteht bei den Typparametern? Allgemeine Java-Themen 5
temi Problem mit Aufrufreihenfolge bei Vererbung Allgemeine Java-Themen 3
Sumo_ow "ArrayIndexOutofBoundsException: 2" Array Problem Allgemeine Java-Themen 6
T PIM basierend auf netbeans via AnyDesk Problem Allgemeine Java-Themen 3
xGh0st2014 Problem mit Java Array Allgemeine Java-Themen 1
Kirby.exe Verständnis Problem bei Rucksack Problem Allgemeine Java-Themen 6
B Eclipse-Lombok-Problem Allgemeine Java-Themen 19
I Input/Output ObjectOutputStream - Problem Allgemeine Java-Themen 7
1 Multiple Choice Knapsack- Problem Allgemeine Java-Themen 2
kodela Problem mit strukturiertem Array Allgemeine Java-Themen 18
E Problem mit Gridlayout und Button Allgemeine Java-Themen 2
A Array Problem Allgemeine Java-Themen 8
bueseb84 Problem Allgemeine Java-Themen 0
S Problem mit Arrays Allgemeine Java-Themen 1
D Nullpointer Exception Problem Allgemeine Java-Themen 5
B Problem mit meinen Klassen Allgemeine Java-Themen 6
A HashMap Methode "get()"-Problem Allgemeine Java-Themen 28
J Problem beim Umstellen auf Java jdk 13 Allgemeine Java-Themen 3
J Problem bei Install java 13 Allgemeine Java-Themen 3
X Profitable Reise Problem Allgemeine Java-Themen 32
A Problem beim öffnen von Java-Installern Allgemeine Java-Themen 1
Dann07 Problem mit JavaMail API Allgemeine Java-Themen 26
J Problem beim Generischen Klassen und Interfaces Allgemeine Java-Themen 2
L Klassen Algorithmus für das folgende Problem entwickeln? Allgemeine Java-Themen 30
J Clear-Problem Allgemeine Java-Themen 10
B Problem zu einem Java Projekt Allgemeine Java-Themen 6
S JFileChooser Problem Allgemeine Java-Themen 4
M Traveling Salesman - MST Heuristik Problem Allgemeine Java-Themen 4
J Traveling Salesman Problem Allgemeine Java-Themen 14
E Java Editor Problem mit 2er Exceptions Allgemeine Java-Themen 12
C code oder Bibliotheken für 2-Center Problem Allgemeine Java-Themen 4
M Salesman Problem - Bruteforce Algorithmus Allgemeine Java-Themen 23
S Methoden Problem mit NullPointerException Allgemeine Java-Themen 9
Javafan02 Problem mit if-clause Allgemeine Java-Themen 17
J Lombok Problem mit Konstruktoren bei Verberbung Allgemeine Java-Themen 1
kodela Event Handling Problem mit der Alt-Taste Allgemeine Java-Themen 16
W Threads Problem Allgemeine Java-Themen 15
D (Verständnis-)Problem mit Unterklasse Allgemeine Java-Themen 4
S Problem mit Generic bei unmodifiableCollection Allgemeine Java-Themen 4
S jserialcomm Problem Allgemeine Java-Themen 1
Flynn Thread-Problem... Allgemeine Java-Themen 2
J Generische Interface - Problem Allgemeine Java-Themen 3
G Problem beim GUI Allgemeine Java-Themen 9
L Applet Problem "security: Trusted libraries list file not found" ? Allgemeine Java-Themen 7
A OOP Problem beim Berechnen der größten Fläche eines Ringes Allgemeine Java-Themen 19
T Problem mit externen Datenbankzugriff über SSH Tunnel Allgemeine Java-Themen 4
F Problem beim Einlesen einer Textdatei Allgemeine Java-Themen 12
S Java OpenOffice Problem mit Windows-Benutzerwechsel Allgemeine Java-Themen 19
K Threads RAM Problem Allgemeine Java-Themen 20
P Operatoren Problem mit Zähler in recursiver Schleife Allgemeine Java-Themen 2
C Int Problem Allgemeine Java-Themen 8
C J2V8 NodeJs Java Bride Problem und Frage!?!? Allgemeine Java-Themen 1
J Problem bei Hashmap Key-Abfrage Allgemeine Java-Themen 4
C Webseiten Programm problem Allgemeine Java-Themen 5
M LocalDate Problem Allgemeine Java-Themen 4
J "Problem Objektorientierung" Allgemeine Java-Themen 20
geekex Problem Meldung! Was tun?! Allgemeine Java-Themen 19
T Klassen Override Problem Allgemeine Java-Themen 7
L Unbekanntes Problem Allgemeine Java-Themen 1
FrittenFritze Problem mit einer JComboBox, Event temporär deaktivieren Allgemeine Java-Themen 11
Blender3D Java Swing Programm Windows 10 Autostart Problem Allgemeine Java-Themen 2
F HTTPS Zertifikat Problem Allgemeine Java-Themen 3
M OpenCV KNearest Problem Allgemeine Java-Themen 0
Tommy Nightmare Project Euler: Problem 22 Allgemeine Java-Themen 2
C Abstrakte Klasse, lokale Variable-Problem Allgemeine Java-Themen 1
N Vererbung Design-Problem mit vorhandenen, von der Klasse unabhängigen Methoden Allgemeine Java-Themen 12

Ähnliche Java Themen

Neue Themen


Oben