Innere Klasse : kein static?

Status
Nicht offen für weitere Antworten.

Spin

Top Contributor
Hallo , ich habe da mal eine Frage :

Java:
class MeinInternerRahmen extends JInternalFrame
    {
        // Zähler für neuen Rahmen und Offsets (damit die Rahmen nicht verdeckt werden)
        static int openFrameCount =0;
        static final int xOffset =30,yOffset =30;
        
        public MeinInternerRahmen()
        {
            
            super("Interner Rahmen Nr. " + (++ openFrameCount),
                    true, // Groesse änderbar
                    true,// schliessbar
                    true,// maximierbar
                    true);// ninmierbar
            setSize(300,300);
            setLocation(xOffset*openFrameCount,yOffset*openFrameCount);

Also ich möchte gerne die Anzahl meiner Fenster mit zählen lassen, doch sagt er mir Fehler: Ich darf mein openFrameCount nicht static machen.

Ich brauche den aber static um diese im Konstruktor zu bekommen. Kann mir da jemand helfen?
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
warum eine statische Variable in inneren Klassen verboten ist, habe ich auch noch nicht so genau gehört,
dass ich es gemerkt hätte und dir jetzt erzählen könnte,

aber auf jeden Fall kannst du deine statischen Variablen doch auch in der äußeren Klasse definieren?
brauchst du überhaupt eine innere Klasse?
 

Spin

Top Contributor
OK, danke .

Es funktionert, wenn ich es einfach statisch in der äußeren Deklariere.
Ich brauche eine innere Klasse , weil meine äußere Klassen von JFrame erbt.

Ich kann ja leider nicht von mehreren Klassen erben.

2 verschiedene Klassen hätten ja auch kein Sinn gemacht. Ich muss mit der einen von JFrame ableiten und mit der anderen von JInternalFrame (JDestkopPane).

Da ist mir nichts anderes übrig gebleiben als eine innere Klasse zu definieren. Ich finde es toll , dass es sowas gibt :)

Ich hätte mal noch so eine Frage :

Wenn ich eine Adapterklasse einfüge , bsp.: Action event. (Interface)

Ich hole mir das Interface und dann schreibe ich ja die Mtehode auf :

Bsp.: Einen Button, den Listener hinzufügen.

Java:
b1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{

}
});

Ich kann ja nun mit der Referenzvariablen e arbeiten. Bsp.: Object quelle = e.getSource(); usw.

Das : ActionEvent e

Kann mir dass nochmal jemand genau erkären, was ich da mache?

public void actionPerformed --> Das ist die Methode
public void actionPerformed(ActionEvent e)--> Methode gefüllt mit formalen Parameter

ActionEvent ist die Klasse und e eine Variable die von der Klasse ActionEvent, Methoden aufrufen kann.
Ich kann also alles aus der Klasse nutzen bzw. aus dem Interface.

Ein interface besteht ja aus Methoden und und aus Konstanten.
Wäre nett , wenn mir noch jemand kurz sagen könnte, ob ich richtig liege...danke
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
stimmt sicherlich, wobei die Formulierung der Fragen doch bezweifeln lassen, dass alles mit Sinn verstanden wurde,

mit anonymen Klassen, GUIs und Listener sollte man Methoden und Parametern, Interface und Klassen aber besser nicht üben,
sondern in Hello World-Programmen in Kapitel 1 der Lehrbücher..
 

Spin

Top Contributor
Du hast vielleicht recht. Ich sollte mir nochmal paar Sachen anschauen. Schade , dass du mir nicht kurz und knapp es sagen möchtest. Aber ich kann verstehen , dass ihr nicht Lehrbücher wieder geben möchtet.

Die kann man sich ja selbst reinziehen.
Mit euch gehts halt einfach immer bischen schneller. Grundgedanken habe ich verstanden.

Kein Problem mehr mit der Kapselung, mit Klassen oder Instanz variablen. Auch den Konstruktor verstanden. Die Vererbung ist für mich auch nicht mehr neu, doch fehlen mir manchmal so paar sachen.

Bsp.:


Java:
public Vector2D(double x,double y)
    {
        this.x=x;
        this.y=y;
        this.laenge = pythagoras(this.x, this.y);
    }
    // Translation (Bewegung)

    /*Addieren der Vektoren durch Methode plus(), die translate() aufruft.
      --> es handelt sich auch um eine Verschiebung
      --> neue Länge brechnen durch pythagoras()*/
    public void translate(Vector2D trans)
    {
        this.x += trans.getX(); // Vektor um den wir verschieben wollen (+)
        this.y += trans.getY(); 
    }


Das hatten wir im Kurs. Nun frage ich mich : Vector2D trans ?
Da macht es noch nicht klick. Nutze ich es einfach nur , um die Methoden von der Klasse Vector2D aufzurufen?
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
die Methoden gehören zur Klasse, das kann man so sagen,
aber die Klasse kennt der Compiler, kennt diese Methode selber,
es ist ja gar die eigene Klasse, dafür bräuchte es keine Parameter,

viel entscheidener: trans ist ein Datenobjekt, enthält Werte, nämlich x und y,
ob x nun 1, 2, 3, 45, 66 oder 5634543 ist, kann weder die Klasse noch die Methode sagen,
diese Information enthält ein bestimmtes Objekt zur Laufzeit

natürlich braucht es Methoden um Werte abzufragen usw
 

Ebenius

Top Contributor
Wie wäre es mit JAVA-Tags zum Formatieren des Quelltexts? Das nächste mal bitte selber machen!

Ebenius
 

JanHH

Top Contributor
Kann es sein, das das Konzept der objektorientierten Programmierung noch gar nicht verstanden wurde? Forumlierungen wie "ActionEvent ist die Klasse und e eine Variable die von der Klasse ActionEvent, Methoden aufrufen kann." liegen dies nahe. In Wirklichkeit ist es so: e ist selber ein Exemplar von Objekten der Klasse ActionEvent. Es kann also quasi seine "eigenen" Funktionen aufrufen, denn es ist selber ein ActionEvent-Objekt.

Ansonsten, bin ich blind, oder ist in der ursprünglichen Fragestellung gar keine innere Klasse zu erkennen? Mir kommt das alles ganz normal vor..
 

TommyHB

Mitglied
Sehe ich auch so. Ein "JInternalFrame" hat nichts mit internen Klassen zu tun.

Habe in einem aktuellen Projekt mal folgenden Code eingefügt:

Code:
public class CompanyFrame extends javax.swing.JInternalFrame {
    static int count;
    public CompanyFrame() {
        count++;
...
        jLabel1.setText(String.valueOf(count));
   }

jLabel1 ist im InternalFrame und zeigt immer die Nummer des InternalFrames an. Funktioniert wunderbar.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J ActionListener per Innere Klasse oder e.getActionCommand() if-Abfrage? AWT, Swing, JavaFX & SWT 12
L innere Klasse bei GUI AWT, Swing, JavaFX & SWT 4
M Innere Klassen, ZugriffsProbleme AWT, Swing, JavaFX & SWT 4
R innere Action -> auf äußeres this zugreifen AWT, Swing, JavaFX & SWT 3
L innere klassen AWT, Swing, JavaFX & SWT 3
Z Innere Frame in meiner JFrame. AWT, Swing, JavaFX & SWT 4
M Eigene Java Klasse für allgemeine Grafikelemente AWT, Swing, JavaFX & SWT 8
Jose05 Aus einer normalen Java Klasse eine FXML-Klasse laden AWT, Swing, JavaFX & SWT 12
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
_user_q Versionscode aus build.gradle in Java-Klasse ausgeben lassen AWT, Swing, JavaFX & SWT 14
H MouseAdapter Klasse nutzen wenn eigene Klasse bereits von anderer erbt AWT, Swing, JavaFX & SWT 13
Jose05 JavaFx Fxml: GUI aus einer anderen Klasse starten AWT, Swing, JavaFX & SWT 1
T JavaFX TableColumn in separate Klasse auslagern AWT, Swing, JavaFX & SWT 7
Monokuma KeyEvent in der Canvas Klasse AWT, Swing, JavaFX & SWT 0
B Was würden Profis an meiner Klasse verbessern? AWT, Swing, JavaFX & SWT 1
B JavaFX Verständnisfrage EventHandler<ActionEvent> Implementierung in meiner Klasse AWT, Swing, JavaFX & SWT 2
B JavaFX Farbe eines Quadrates in einer separaten Klasse ändern AWT, Swing, JavaFX & SWT 4
S Stream API, Anonyme Klasse AWT, Swing, JavaFX & SWT 8
B JavaFX Von welcher Klasse und zu welchem Zeitpunkt werden Event-Objekte erstellt? AWT, Swing, JavaFX & SWT 3
N Aufruf einer anderen Klasse durch Button ActionListener AWT, Swing, JavaFX & SWT 2
F jTree und das Model aus einer eigenen Klasse AWT, Swing, JavaFX & SWT 1
F Jtree aus Klasse mit Arraylisten AWT, Swing, JavaFX & SWT 1
L Javafx Controller Klasse in Maven AWT, Swing, JavaFX & SWT 7
karlmasutra JavaFX Zugriff auf eine erzeugte Scene aus einer anderen Klasse AWT, Swing, JavaFX & SWT 1
J Bild von anderer Klasse will nicht laden AWT, Swing, JavaFX & SWT 1
L CardLayout in einer Klasse? AWT, Swing, JavaFX & SWT 2
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4
ralfb1105 Swing Ausführung einer SwingWorker Klasse stoppen AWT, Swing, JavaFX & SWT 4
xYurisha JLabel Text einer geöffneten Gui über eine andere Klasse ändern! AWT, Swing, JavaFX & SWT 3
J 2D-Grafik Background einer Jpanel Klasse ändern AWT, Swing, JavaFX & SWT 1
J JFram Location aus Konstruktor einer anderen Klasse auslesen AWT, Swing, JavaFX & SWT 10
J 2D-Grafik Background Image Klasse AWT, Swing, JavaFX & SWT 14
K Frame aus anderer Klasse schließen AWT, Swing, JavaFX & SWT 3
M Eigene Klasse mit Grafikobjekten schreiben AWT, Swing, JavaFX & SWT 4
0 Swing JTable aus anderer Klasse updaten AWT, Swing, JavaFX & SWT 5
it_is_all Event Handling ActionListener in anderer Klasse klappt nicht AWT, Swing, JavaFX & SWT 4
L JavaFX button über andere Klasse ändern AWT, Swing, JavaFX & SWT 7
K über Button andere Java Klasse aufrufen AWT, Swing, JavaFX & SWT 15
C Nach Aufruf von anderer Klasse streikt Grafik AWT, Swing, JavaFX & SWT 1
S per Button Variableninhalt aus anderer Klasse holen AWT, Swing, JavaFX & SWT 3
F AWT Robot Klasse Screenshot nach Pixelmustern in bestimmten Radius um Bildschirmmittelpunkt absuchen AWT, Swing, JavaFX & SWT 13
K JButton auf anderer Klasse AWT, Swing, JavaFX & SWT 6
R Update eines Labels bei Methodenaufruf einer anderen Klasse AWT, Swing, JavaFX & SWT 9
Java_RY AWT Frame in eine eigene klasse auslagern und aufrufen AWT, Swing, JavaFX & SWT 6
L JavaFX Verbindung zwischen Beschreibung und Listener (Codebehind Klasse) AWT, Swing, JavaFX & SWT 4
J JTextfield automatisch aus zweiter Klasse aktualisieren AWT, Swing, JavaFX & SWT 5
J JavaFX Tableview Daten hinzufügen aus anderer Klasse AWT, Swing, JavaFX & SWT 7
Ghostman1711 GUI Java von Klasse mit Application Windows anderes Application Window aufrufen AWT, Swing, JavaFX & SWT 6
K JTable in extra Klasse, Zugriff in einer anderen klasse nicht möglich AWT, Swing, JavaFX & SWT 26
D JavaFX Probleme bei Service-Klasse beim ändern der GUI AWT, Swing, JavaFX & SWT 8
T Klasse über JButton schließen AWT, Swing, JavaFX & SWT 4
N JavaFX Erweitern der Line(Shape)-Klasse AWT, Swing, JavaFX & SWT 1
T Durch klicken eines Buttons Klasse wechseln AWT, Swing, JavaFX & SWT 2
7 JavaFX Verwendung einer ResizableCanvas-Klasse in fxml-Datei AWT, Swing, JavaFX & SWT 3
A JavaFX Von Klasse auf Controller Inhalt zugreifen AWT, Swing, JavaFX & SWT 9
L Swing Teile eines JPanel in eigene Klasse auslagern AWT, Swing, JavaFX & SWT 3
J Eigene Klasse auf Basis Textfield in SceneBuilder anzeigen AWT, Swing, JavaFX & SWT 4
B Swing Auf JList-Elemente aus einer anderen Klasse zugreifen AWT, Swing, JavaFX & SWT 1
J JavaFX Mehrfache Benutzung von Methoden einer Klasse AWT, Swing, JavaFX & SWT 17
B Jlabel Text von anderen Klasse aus ändern AWT, Swing, JavaFX & SWT 9
stylegangsta Eigene Klasse für JButton aus dem JFrame abrufen AWT, Swing, JavaFX & SWT 29
N JavaFX GUI Elemente einer anderen (FXML)Klasse ansprechen AWT, Swing, JavaFX & SWT 16
O JTabeddpane aber jedes JPanel als eigene Klasse anlegen AWT, Swing, JavaFX & SWT 7
B Swing GUI in einer anderen Klasse aufrufen AWT, Swing, JavaFX & SWT 4
B Klasse mit ArrayList AWT, Swing, JavaFX & SWT 1
G Event Handling Event Handling in eigene Klasse AWT, Swing, JavaFX & SWT 4
W Paint-Methode in anderer Klasse funktioniert nicht AWT, Swing, JavaFX & SWT 7
L JavaFX Verständnisfrage zu JavaFX FXML und Controller-Klasse AWT, Swing, JavaFX & SWT 1
T Generische Klasse in JList über DefaultListModel AWT, Swing, JavaFX & SWT 1
D Event Handling Aus einer anderen Klasse heraus einen Text des JLabels ändern. AWT, Swing, JavaFX & SWT 12
F Instanzierung einer inneren Klasse in Klasse eines anderen Packets AWT, Swing, JavaFX & SWT 3
C JavaFX Zugriff auf TextField aus einer anderen Klasse AWT, Swing, JavaFX & SWT 4
A JavaFX Scene Builder eigene Klasse hinzufügen AWT, Swing, JavaFX & SWT 2
S 2 Paint-Methoden in einer Klasse ? AWT, Swing, JavaFX & SWT 2
D JavaFX Controller Klasse splitten? AWT, Swing, JavaFX & SWT 16
S JComboBox aus anderer Klasse füllen (Java-Swing) AWT, Swing, JavaFX & SWT 0
S ActionListener Klasse aufrufen AWT, Swing, JavaFX & SWT 4
M Swing JTextField getText Mehtode übergeben in eine Klasse zu einer Rechnung AWT, Swing, JavaFX & SWT 1
M Panel in geerbter JFrame Klasse adden AWT, Swing, JavaFX & SWT 4
F JavaFX Zugriff auf Controller Methode von einer normalen Klasse aus AWT, Swing, JavaFX & SWT 4
D AWT Das ganze GUI in eine Klasse? AWT, Swing, JavaFX & SWT 1
C JavaFX Klasse wird nicht als public erkannt AWT, Swing, JavaFX & SWT 6
J zwei Paint methoden in einer Klasse AWT, Swing, JavaFX & SWT 3
V kann ich in einer Klasse stage und scene deklarieren, aber in anderen Klassen Inhalte hinzufügen ? AWT, Swing, JavaFX & SWT 5
V JavaFX, Pane construktor von einer Klasse in der Main verwenden. AWT, Swing, JavaFX & SWT 4
S 2 paint-Methoden in einer Klasse ? AWT, Swing, JavaFX & SWT 2
W JavaFX Label in Controller-Klasse in einer anderen Controller-Klasse ändern AWT, Swing, JavaFX & SWT 9
X buttons aus externe klasse lesen? AWT, Swing, JavaFX & SWT 3
D Swing JTable- Meine Tabelle der Klasse JTable wird nur bedingt angezeigt AWT, Swing, JavaFX & SWT 4
M Gui in einer anderen Java Klasse aufrufen AWT, Swing, JavaFX & SWT 1
A Problem mit JFrame in separater Klasse AWT, Swing, JavaFX & SWT 3
A Swing bei Auswahl und klick eines JComboBox buttons die Klasse eines anderen Projekts aufrufen AWT, Swing, JavaFX & SWT 3
C Swing MenuBar als eigene Klasse AWT, Swing, JavaFX & SWT 4
D Nächste GUI in einer anderen Klasse aufrufen AWT, Swing, JavaFX & SWT 7
A Swing JTextArea aus anderer Klasse in realtime aktualisieren AWT, Swing, JavaFX & SWT 3
JavaInBrain Swing Rückgabe aus MouseListener-Klasse AWT, Swing, JavaFX & SWT 3
J Swing Nach SwingWorker Funktion aus der GUI Klasse aufrufen AWT, Swing, JavaFX & SWT 5
G JPanel aufrufen in andere Klasse AWT, Swing, JavaFX & SWT 2
G Window aus anderer Klasse aufrufen AWT, Swing, JavaFX & SWT 4
S klasse einbinden funktioniert nicht AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben