Variable einer anderen Klasse importieren

HiImSkulte

Mitglied
Hallo liebe Community,
ich habe vor ein paar Wochen angefangen Java zu programmieren und habe jetzt das Problem, dass ich eine Klasse erstellt habe und in dieser eine Methode, die die Variable "g" aus einer anderen Klasse benötigt.

Das sieht so aus:

Java:
public class Buttons {
           
    public static void drawButtons() {
              
    }
}

Und jetzt will ich g.Funktion benutzen in dieser Methode, aber weiß nicht wie ich aus der anderen Klasse aus einer anderen Methode g "rausholen" kann, sodass ich g auch in dieser Methode benutzen kann.

Hoffe es ist verständlich was ich meine.
Danke!
 

agent876

Mitglied
Du erstellst eine Instanz der Klasse. Also schreibst du: Klassenname instanzNameZuVergeben = new Klassenname();
danach kannst du mit instanzName.Methode(); auf die Methoden der Klasse zugreifen. Anstelle der Namen musst du natürlich die richtigen Namen für deinen Code einsetzen.
 

HiImSkulte

Mitglied
Java:
package gfx;

import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.image.*;
import javax.swing.*;

import gfx.*;

public class Window extends Canvas implements Runnable, MouseListener, MouseMotionListener {
      
    private static final long serialVersionUID = 1L;
      
        // GAME VARIABLES
        private boolean running = false;
        private int mousex;
        private int mousey;
          
        // BUTTON VARIABLES
      
        // WINDOW VARIABLES
        private int width, height;
        private String title;
        private JFrame frame;
        private BufferedImage image;
        private int[] pixels;
        private Screen screen;
        private Thread thread;
      
    public Window(int w, int h, String t) {
      
        this.width = w;
        this.height = h;
        this.title = t;
      
        frame = new JFrame(title);
      
        image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
        pixels = ((DataBufferInt)image.getRaster().getDataBuffer()).getData();
        screen = new Screen(width, height, pixels);
      
        frame.add(this);
        frame.setSize(width, height);
        frame.setResizable(false);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
      
        addMouseMotionListener(this);
        addMouseListener(this);
    }
  
    public void start() {
        running = true;
      
        thread = new Thread(this, title);
        thread.start();
    }
  
    public void stop() {
        running = false;
      
        try {
            thread.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
  
    public void run() {  
        while(running) {
            render();
            update();
          
        }
    }
  
    public void render() {
        BufferStrategy bs = getBufferStrategy();
        if (bs == null) {
            createBufferStrategy(3);
            return;
        }
      
        screen.clear(0);
        screen.render(0xC0C0C0);
      
        Graphics g = bs.getDrawGraphics();
            g.create();
            g.drawImage(image, 0, 0, null);
  
            // BUTTONS  
                Buttons.drawButtons();
            // STRINGS / INTEGERS
                  
            // LINES
              
            // TESTBUTTON
          
            g.dispose();
            bs.show();
    }

    public void update() {
      
    }

    @Override
    public void mouseDragged(MouseEvent e) {
      
    }

    @Override
    public void mouseMoved(MouseEvent e) {
        mousex = e.getX();
        mousey = e.getY();
    }

    @Override
    public void mouseClicked(MouseEvent e) {
      
        // BUTTONS
      
    }

    @Override
    public void mouseEntered(MouseEvent e) {
  
        // BUTTONS
      
    }

    @Override
    public void mouseExited(MouseEvent e) {
      
        // BUTTONS
    }
  
    @Override
    public void mousePressed(MouseEvent e) {
      
        // BUTTONS
      
    }
  
    @Override
    public void mouseReleased(MouseEvent e) {
      
        // BUTTONS
      
    }
  
    // GETTERS / SETTERS
  
    public int getWidth() {
        return width;
    }
  
    public int getHeight() {
        return height;
    }
  
    public String getTitle() {
        return title;
    }
  
}

Also das ist meine "Window" Klasse die mir mein JFrame Fenster erstellt. Nun habe ich in der Render-Methode Buttons.drawButtons(); aufgerufen, und in der Buttons Klasse habe ich stehen
Window win = new Window();
so wäre es doch richtig oder?
Das Problem ist nun, dass ich bei Window(); noch die Parameter angeben muss von meiner Window Klasse, also (width, height, observer).

Java:
public class Buttons {
  
    public static void drawButtons() {
        Window g = new Window(0, 0, null);      
      
    }
}

Wenn ich es so mache kommt folgende Fehlermeldung:

Exception in thread "Dollar Clickers" java.lang.IllegalArgumentException: Width (0) and height (0) cannot be <= 0
at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
at java.awt.image.BufferedImage.<init>(Unknown Source)
at gfx.Window.<init>(Window.java:40)
at gfx.Buttons.drawButtons(Buttons.java:13)
at gfx.Window.render(Window.java:95)
at gfx.Window.run(Window.java:74)
at java.lang.Thread.run(Unknown Source)

Also sagt er, dass die Höhe und Breite nicht weniger oder gleich 0 sein kann, also gebe ich folgendes ein:

Java:
public class Buttons {
  
    public static void drawButtons() {
        Window g = new Window(1600, 900, null);      
      
    }
}

Jetzt flackert es ein paar Sekunden und öffnet sich gefühlte 100 mal und schließt sich nach ca. 2 Sekunden selbst.

Außerdem kann ich nicht auf die Variable "g" aus meiner Window Klasse zugreifen, zumindest funktioniert in meiner Button Klasse dann g.drawRect(...); nicht.
Irgendwelche Ideen? :D

(Wenn ich Window g = new Window(); außerhalb der drawButtons() Methode schreibe funktioniert es trotzdem nicht)

Danke für jede Hilfe! :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Vivien Auf eine Variable von einer anderen Klasse aus zugreifen Java Basics - Anfänger-Themen 3
L Variable von einer Methode zu einer anderen Methode inkl. einer "Zwischenmethode" Java Basics - Anfänger-Themen 1
A OOP Variable in anderer Klasse durch Methode aufrufen und einer anderen Variable gleichsetzen Java Basics - Anfänger-Themen 2
L Variable aus einer Klasse in einer anderen Klasse nutzen Java Basics - Anfänger-Themen 6
P Methode soll Variable einer anderen Klasse ändern. Wie? Java Basics - Anfänger-Themen 1
J Wert eines Arrays einer Variable zuweisen, sobald der Wert eines anderen Arrays eintritt Java Basics - Anfänger-Themen 2
OlafHD Variable aus einer anderen Klasse Verwenden Java Basics - Anfänger-Themen 11
K Veränderung einer Variable von einer anderen Klasse aus Java Basics - Anfänger-Themen 12
W Klassen Variable einer anderen Klasse ändern (Threads) Java Basics - Anfänger-Themen 3
M Auf die Variable einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 9
M Variable aus einer anderen Klasse aktualisieren Java Basics - Anfänger-Themen 2
I Variablen Wie initialisiert man in Java eine Variable ohne das Setzen von 0 oder einer anderen Zahl? Java Basics - Anfänger-Themen 8
E Methoden Variable aus einer anderen Methode in einer Methode aufrufen Java Basics - Anfänger-Themen 7
S Variable aus einer anderen Klasse verwenden Java Basics - Anfänger-Themen 3
B Variable einer Klasse in einer anderen Klasse nutzen Java Basics - Anfänger-Themen 14
A Wert einer Variable an eine Methode in einer anderen Klasse. Java Basics - Anfänger-Themen 4
L Auf aktualisierte Variable einer anderen Methode zugreifen Java Basics - Anfänger-Themen 15
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
T Variable von Objekten in einer Methode überprüfen Java Basics - Anfänger-Themen 26
stormyark Fehler beim überschreiben einer Variable Java Basics - Anfänger-Themen 1
M Variable in einer Schleife initialisieren Java Basics - Anfänger-Themen 46
M Methoden Wert einer Variable geht verloren? Java Basics - Anfänger-Themen 6
Ameise04 Variablen Inhalt einer Variable im Code verwenden? Java Basics - Anfänger-Themen 9
K Übergabe des Wertes einer Variable aus main() in eine Klassenmethode Java Basics - Anfänger-Themen 8
V Variablen statische Variable einer Objektvariable zuordnen Java Basics - Anfänger-Themen 3
A Wie zwei zahlen in einer Variable speichern? Java Basics - Anfänger-Themen 7
J Ungewollte Wertveränderung einer Variable Java Basics - Anfänger-Themen 9
S Wie erstelle ich eine Vorbedingung für eine Variable einer Methode ? Java Basics - Anfänger-Themen 5
S Warum kann ich nicht mehr als eine Variable in einer for Schleife deklarieren ? Java Basics - Anfänger-Themen 1
F Variablen If else: Einer Variable einen Wert hinzufügen oder so? Java Basics - Anfänger-Themen 6
D Aufruf einer statischen Variable Java Basics - Anfänger-Themen 1
D Einer Variable automatisch Zahlen hinzuaadieren Java Basics - Anfänger-Themen 3
H Innerhalb einer Methode eine Variable der aufrufenden Methode ändern? Java Basics - Anfänger-Themen 2
J Erste Schritte Problem mit einer bool-Variable in einem Bot-Programm Java Basics - Anfänger-Themen 1
J Wert einer Variable erhöhen Java Basics - Anfänger-Themen 5
F Inhalt einer Variable auswerten, die sich immer wieder ändert Java Basics - Anfänger-Themen 1
S Umgebungsvariable Wert einer Variable global nutzen Java Basics - Anfänger-Themen 3
Z Greenfoot Variable in einer Datei und nicht in einem Objekt/World speichern Java Basics - Anfänger-Themen 1
Shams Synchronized-Schlüsselwort bei Inkrementierung einer statischen Variable Java Basics - Anfänger-Themen 13
fLooojava Probleme bei der Übergabe einer Variable Java Basics - Anfänger-Themen 14
J Methode ".charAt()" einer "int" variable zuschreiben Java Basics - Anfänger-Themen 3
A Variablen Übergeben des Inhalts einer Variable in einen String Java Basics - Anfänger-Themen 17
D Name einer Variable als String nutzen Java Basics - Anfänger-Themen 13
D Wert einer Variable in paint-Methode verwenden Java Basics - Anfänger-Themen 2
D JTextField verwenden ohne Eingabe einer Variable Java Basics - Anfänger-Themen 4
MiMa Mehrere Daten in einer Variable? Java Basics - Anfänger-Themen 25
P Kapselung Variable innerhalb einer inneren Klasse ansprechen ohne ein Objekt erzeugen zu müssen? Java Basics - Anfänger-Themen 6
D Wert einer Variable aus Klasse A mit Klasse B ändern Java Basics - Anfänger-Themen 11
W Klassen Kann eine Variable nicht aus einer Klasse bekommen Java Basics - Anfänger-Themen 9
L Variable einer ListenerKlasse nutzen Java Basics - Anfänger-Themen 3
C Sichbarkeit einer Variable Java Basics - Anfänger-Themen 31
D Von einer Methode auf eine lokale Variable in der Main zugreifen? Java Basics - Anfänger-Themen 15
B Werte der Variable aus Klasse JTextArea in einer Datei der Klasse RandomAcessFile speichern Java Basics - Anfänger-Themen 10
T Referenz einer Variable übergeben Java Basics - Anfänger-Themen 3
S Wert einer Variable printen Java Basics - Anfänger-Themen 2
B Wert einer Variable mit Listener ueberwachen Java Basics - Anfänger-Themen 3
B Wert einer String Variable an andere String Variable in anderer Klasse uebergeben Java Basics - Anfänger-Themen 5
B Datentypen Sichbarkeit einer Variable? Java Basics - Anfänger-Themen 3
E Variable aus einer Methode heraus in eine andere Klasse übergeben Java Basics - Anfänger-Themen 13
C FileWriter mit einer Variable Java Basics - Anfänger-Themen 8
R Stellen einer Variable auslesen Java Basics - Anfänger-Themen 4
S Wie überprüfe ich eine Zahl (in einer Char-Variable) auf einstelligkeit? Java Basics - Anfänger-Themen 8
D Funktionenübergreifender Transport einer Variable Java Basics - Anfänger-Themen 2
E Ein Objekt von zwei möglichen Klassen in einer Variable Java Basics - Anfänger-Themen 5
F Inhalt einer Variable per Code herausfinden? Java Basics - Anfänger-Themen 9
B einlesen einer variable im laufenden programm Java Basics - Anfänger-Themen 5
C Variable Zeichenkette innerhalb einer Schleife ersetzen Java Basics - Anfänger-Themen 4
F Verändern einer Variable im ActionListener Java Basics - Anfänger-Themen 14
N Wert einer Variable aus einem Javaproramm auslesen. Java Basics - Anfänger-Themen 2
C Variable dem Konstruktor einer Klasse übergeben Java Basics - Anfänger-Themen 8
D Variable einer Methode in anderer Methode aufrufen Java Basics - Anfänger-Themen 19
F Variable in einer Methode Java Basics - Anfänger-Themen 2
G Überschreiben einer Variable umgehen Java Basics - Anfänger-Themen 6
R JSP: Ausgabe einer entfernten Webseite in Variable einlesen Java Basics - Anfänger-Themen 2
N private variable vom typ einer klasse Java Basics - Anfänger-Themen 20
F Einer char-Variable "leeren" Inhalt zuweisen Java Basics - Anfänger-Themen 4
I VisualClass: Ausgabe einer Variable Java Basics - Anfänger-Themen 2
F Kann man den Namen einer Variable in ein String Konvertieren Java Basics - Anfänger-Themen 2
S einer Variable KEINEN Wert zuweisen? Java Basics - Anfänger-Themen 7
L Speicherort einer Variable Java Basics - Anfänger-Themen 8
M Übergeben einer Variable an actionPerformed(ActionEvent e)? Java Basics - Anfänger-Themen 5
P Instanz in einer Variable speichern ? Java Basics - Anfänger-Themen 4
M Länge eines Arrays als Variable speichern möglich? Java Basics - Anfänger-Themen 14
R Liste in Variable speichern Java Basics - Anfänger-Themen 6
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
E Variable von 1. Fenster an 2. Fenster übergeben. Java Basics - Anfänger-Themen 7
T Variable in Schleife deklarieren, Speicherplatz, Garbage Collector Java Basics - Anfänger-Themen 10
T Datum als Variable wert Java Basics - Anfänger-Themen 4
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
R Compiler-Fehler Variable wird nicht gefunden bzw. erkannt? Java Basics - Anfänger-Themen 2
Say super.methode / super.variable und super(variable) Java Basics - Anfänger-Themen 2
M variable in anderer funktion aufrufen Java Basics - Anfänger-Themen 10
U Wie mache ich die Variable xyz eindeutig/unique? Java Basics - Anfänger-Themen 20
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
M Variable Felderanzahl Java Java Basics - Anfänger-Themen 10
T Variable durch Action Listener ändern Java Basics - Anfänger-Themen 2
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
I Methoden Wieso wird mein Array "a" verändert und meine Variable "a" nicht? Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben