Compiler-Fehler Frames verbinden

DrNed

Mitglied
Hi,
ich bins wieder
diesmal hab ich das Problem das ich zwei Frames nicht miteinander verlinken kann, also per Button.

Das ist mein Script:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.ActionListener;
import java.io.IOException;


/**
  *
  * Beschreibung
  *
  * @version 1.0 vom 24.02.2011
  * @DrNed
  */

public class TWO extends JFrame {
  // Anfang Attribute
  private JLabel jLabel1 = new JLabel();
  private JButton jButton1 = new JButton();
  private JLabel jLabel2 = new JLabel();
  private Choice choice1 = new Choice();
  private JFileChooser jfco = new JFileChooser();
  private Choice choice2 = new Choice();
  private JButton jButton2 = new JButton();
  private JLabel jLabel4 = new JLabel();
  private JLabel jLabel3 = new JLabel();
  private JButton jButton3 = new JButton();
  private JLabel jLabel5 = new JLabel();
  private JButton jButton4 = new JButton();
  private JLabel jLabel6 = new JLabel();
  private JButton jButton5 = new JButton();
  // Ende Attribute

  public TWO(String title) {
    // Frame-Initialisierung
    super("Launcher v1.2");
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    int frameWidth = 750;
    int frameHeight = 318;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten

    jLabel1.setBounds(8, 9, 274, 16);
    jLabel1.setText("Wilkommen im Launcher.");
    jLabel1.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(jLabel1);
    jButton1.setBounds(8, 35, 97, 34);
    jButton1.setText("Internet");
    jButton1.setMargin(new Insets(2, 2, 2, 2));
    jButton1.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        jButton1_ActionPerformed(evt);
      }
    });
    cp.add(jButton1);
    jLabel2.setBounds(144, 48, 160, 16);
    jLabel2.setText("Startet Mozilla Firefox");
    jLabel2.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(jLabel2);
    jButton2.setBounds(8, 80, 97, 33);
    jButton2.setText("Media Player");
    jButton2.setMargin(new Insets(2, 2, 2, 2));
    jButton2.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        jButton2_ActionPerformed(evt);
      }
    });
    cp.add(jButton2);
    jLabel4.setBounds(144, 88, 158, 16);
    jLabel4.setText("Startet den Media Player");
    jLabel4.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(jLabel4);
    jLabel3.setBounds(8, 264, 270, 16);
    jLabel3.setText("written by DrNed");
    jLabel3.setFont(new Font("MS Sans Serif", Font.PLAIN, 9));
    cp.add(jLabel3);
    jButton3.setBounds(8, 128, 97, 33);
    jButton3.setText("CCleaner");
    jButton3.setMargin(new Insets(2, 2, 2, 2));
    jButton3.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        jButton3_ActionPerformed(evt);
      }
    });
    cp.add(jButton3);
    jLabel5.setBounds(144, 136, 134, 16);
    jLabel5.setText("Startet den CCleaner");
    jLabel5.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(jLabel5);
    jButton4.setBounds(8, 176, 97, 33);
    jButton4.setText("Beenden");
    jButton4.setMargin(new Insets(2, 2, 2, 2));
    jButton4.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        jButton4_ActionPerformed(evt);
      }
    });
    cp.add(jButton4);
    jLabel6.setBounds(144, 184, 142, 16);

    jLabel6.setText("Beendet den Launcher");
    jLabel6.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(jLabel6);
    jButton5.setBounds(312, 40, 97, 33);
    jButton5.setText("Test");
    jButton5.setMargin(new Insets(2, 2, 2, 2));
    jButton5.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        jButton5_ActionPerformed(evt);
      }
    });
    cp.add(jButton5);
    // Ende Komponenten

    setResizable(false);
    setVisible(true);
  }

  // Anfang Methoden
  public void jButton1_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
    try {
        Runtime.getRuntime().exec( "C:\\Programme\\Mozilla Firefox\\firefox.exe" );
        } catch (IOException e) {
            e.printStackTrace();
        }
  }


  public String jfcoOpenFilename() {
    jfco.setDialogTitle("Öffne Datei");
    if (jfco.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
      return jfco.getSelectedFile().getPath();
    } else {
      return null;
    }
  }

  public void jButton2_ActionPerformed(ActionEvent evt) {

   try {
                Runtime.getRuntime().exec( "C:\\Program Files\\Windows Media Player\\wmplayer.exe" );
        } catch (IOException e) {
            e.printStackTrace();
        }
       }
  public void jButton3_ActionPerformed(ActionEvent evt) {
    try {
                Runtime.getRuntime().exec( "C:\\Program Files\\CCleaner\\CCleaner.exe" );
        } catch (IOException e) {
            e.printStackTrace();
        }
  }

  public void jButton4_ActionPerformed(ActionEvent evt) {
     setVisible(false);
     System.exit(0);
     }

  public void jButton5_ActionPerformed(ActionEvent evt) {
    this.setVisible(false);
      ONE.setVisible(true);
  }

  // Ende Methoden

  public static void main(String[] args) {
    new TWO("Launcher v1.1");
}
}

Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

/**
  *
  * Beschreibung
  *
  * @version 1.0 vom 25.02.2011
  * @author
  */

public class ONE extends JFrame {
  // Anfang Attribute
  private Label label1 = new Label();
  // Ende Attribute

  public ONE(String title) {
    // Frame-Initialisierung
    super(title);
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    int frameWidth = 523;
    int frameHeight = 393;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten

    label1.setBounds(96, 120, 327, 112);
    label1.setText("Diese Funktion ist derzeit noch nicht freigeschaltet.");
    label1.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(label1);
    // Ende Komponenten

    setResizable(false);
    setVisible(true);
  }

  // Anfang Methoden
  // Ende Methoden

  public static void main(String[] args) {
    new ONE("####");
  }
}


Diese beiden Fenster möchte ich verbinden nur bekomme ich immer die schöne Meldung:

Java:
TWO.java:169:10: non-static method setVisible(boolean) cannot be referenced from a static context
      ONE.setVisible(true);

Hoffe ihr könnt mir helfen.

DrNed

PS:Ich bin Anfänger ^^ also bitte die Unordnung zu entschuldigen, ich arbeite dran.
 

Murray

Top Contributor
setVisible ist eine Instanzmethode; es muss also zunächst mal mit new ONE( "ONE") eine Instanz erzeugt werden, bevor daran dann setVisible aufgerufen werden kann.
 
D

drnerd

Gast
Ok,
da ich absolut neu bin in Java hab ich keine Ahnung wie so etwas mache???
Kannste das evtl. etwas genauer beschreiben?

Beide Instanzen müssen einander kennen,damit sie ihre Sichtbarkeit gegenseitig verändern können. "Kennen" hat 'ne ganz spezielle Bedeutung,jede Klasse muss eine Referenz der anderen als Atribut haben.
 

Murray

Top Contributor
"Kennen" hat 'ne ganz spezielle Bedeutung,jede Klasse muss eine Referenz der anderen als Atribut haben.
Eigentlich sollte es reichen, wenn eine der beiden Klassen die andere kennt ( = eine Referenz als Attribut hat). Wenn die andere auch die eine kennen muss, dann ist das bereits eine zyklische Abhängigkeit ("A" braucht "B", um übersetzt werden zu können, aber "B" braucht zur Compile-Zeit auch "A"), die man besser vermeiden sollte (und z.B. durch Einführen von Interfaces normalerweise auch vermeiden kann)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Frames Verbinden Java Basics - Anfänger-Themen 19
G Frames mit einander verbinden Java Basics - Anfänger-Themen 10
S Zwei Frames miteinander verbinden Java Basics - Anfänger-Themen 5
CptK Interface 2 von einander unabhängige Frames mit Panel gleichzeitig nutzen Java Basics - Anfänger-Themen 66
I In der Mitte eines Frames mit BorderLayout etwas malen Java Basics - Anfänger-Themen 7
S Nach dem Herüberschieben eines Arrays zwischen 2 Frames öffnet sich das Frame nicht mehr Java Basics - Anfänger-Themen 12
S Position eines Frames Java Basics - Anfänger-Themen 3
S Auf eine variable/objekt eines frames zugrifen Java Basics - Anfänger-Themen 22
C Einige Fragen zu Frames Java Basics - Anfänger-Themen 7
D Frame schließt gleich alle Frames Java Basics - Anfänger-Themen 5
U [Problem] Handling multiple frames Java Basics - Anfänger-Themen 5
G Aufrufen eines Frames aus einer anderen Klasse Java Basics - Anfänger-Themen 6
A Intelligente Anordnung von Frames in einer Fläche Java Basics - Anfänger-Themen 4
S Mehrere Frames Java Basics - Anfänger-Themen 4
D JMenuBar und Hintergrund eines Frames Java Basics - Anfänger-Themen 2
M Zwei Frames ein ActionListener Java Basics - Anfänger-Themen 21
K Schließen eines Frames Java Basics - Anfänger-Themen 4
G Java-Frames funktionieren nach Neuinstallation nicht mehr. Java Basics - Anfänger-Themen 3
S Frames schließen Java Basics - Anfänger-Themen 14
D Sound in Frames möglich? EDIT Class Clip Java Basics - Anfänger-Themen 5
V Wie auf Elemente des Frames zugreifen Java Basics - Anfänger-Themen 4
A frames layout Java Basics - Anfänger-Themen 4
Z frames Java Basics - Anfänger-Themen 3
G Frames unabhänig schliessen. Java Basics - Anfänger-Themen 2
G Ist es möglich, den 'Rahmen' eines Frames durch Grafiken. Java Basics - Anfänger-Themen 5
G Liste in mehreren unabhängigen Frames aktualisieren. Java Basics - Anfänger-Themen 6
V Aufruf eines Frames Java Basics - Anfänger-Themen 6
H 3 buttons in 3-spalten eines frames Java Basics - Anfänger-Themen 3
E Farbänderung des Frames bei Klick . Java Basics - Anfänger-Themen 7
B Analoguhr und openTime eines Frames Java Basics - Anfänger-Themen 6
G Applets in Frames & Bilder Java Basics - Anfänger-Themen 10
P Beide frames werden geschlossen Java Basics - Anfänger-Themen 2
M Infernal Frames Java Basics - Anfänger-Themen 4
G mehrere Frames nacheinander aktualisieren Java Basics - Anfänger-Themen 2
G Methode zum schliessen eines frames - nicht durch windows X Java Basics - Anfänger-Themen 14
D Menü soll immer da bleiben - Frames sollen wechseln Java Basics - Anfänger-Themen 3
Chucky 2 Frames Farbwahl durch Buttons Java Basics - Anfänger-Themen 10
P Frage zu Frames: Fenster sichtbar, unsichtbar machen Java Basics - Anfänger-Themen 1
G Frames Java Basics - Anfänger-Themen 4
M 2 Frames Java Basics - Anfänger-Themen 16
M Daten zwischen Frames austauschen Java Basics - Anfänger-Themen 2
M 2 frames separat schliessen Java Basics - Anfänger-Themen 22
D Frage zu Frames! Java Basics - Anfänger-Themen 9
Q Kommunikation zwischen Frames Java Basics - Anfänger-Themen 3
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
Buroto Threads Verschiedene .txt Dateien Auf Listen und Verbinden Java Basics - Anfänger-Themen 3
B GUI extension mit einer Liste verbinden Java Basics - Anfänger-Themen 1
T Access mit Java verbinden im netzwerk Java Basics - Anfänger-Themen 3
S Java mit SQLite Verbinden Java Basics - Anfänger-Themen 16
C Wie kann ich einen User Input mit einer If-Anweisung verbinden? Java Basics - Anfänger-Themen 5
AppGuruCode962 Button mit Textfield verbinden Java Basics - Anfänger-Themen 13
F 2 Polygone verbinden Java Basics - Anfänger-Themen 4
D Input/Output Array in einem String mit einem Trennzeichen verbinden Java Basics - Anfänger-Themen 17
R TreeSelectionEvent mit rechtem splitPane verbinden Java Basics - Anfänger-Themen 1
L Klassen verbinden Java Basics - Anfänger-Themen 10
C Zwei Listen verbinden Java Basics - Anfänger-Themen 1
K [Schnittstelle] JavaProject mit Arduino verbinden Java Basics - Anfänger-Themen 5
N Datenbank mit GUI verbinden - Wie? Java Basics - Anfänger-Themen 5
F OOP Klassen miteinander verbinden Java Basics - Anfänger-Themen 12
GadgetSofa jComboBox mit dem Button verbinden. Aber wie?? Java Basics - Anfänger-Themen 4
B Datei mit String verbinden und speichern Java Basics - Anfänger-Themen 3
U Glassfish mit MySQL verbinden Java Basics - Anfänger-Themen 1
J 2 String Arrays in neuem String Array verbinden Java Basics - Anfänger-Themen 4
J Punkte im Java-Applet verbinden Java Basics - Anfänger-Themen 4
D String-Arrays miteinander verbinden Java Basics - Anfänger-Themen 5
M Methoden miteinander verbinden (Laufzeit) Java Basics - Anfänger-Themen 6
M Array verbinden, mit und ohne new Java Basics - Anfänger-Themen 2
H Erste Schritte Mit Proxyserver verbinden Java Basics - Anfänger-Themen 5
S Best Practice Boolean mit IF verbinden Java Basics - Anfänger-Themen 7
G Zwei Aufgabenbereiche verbinden Java Basics - Anfänger-Themen 5
J GUI mit phpMyAdmin Datenbank verbinden Java Basics - Anfänger-Themen 0
S überschneidende Char-Arrays, zu einem Längeren verbinden Java Basics - Anfänger-Themen 7
ScottGambler Zwei Methoden verbinden? Java Basics - Anfänger-Themen 16
L OOP Buttons mit Pfeilen miteinander verbinden Java Basics - Anfänger-Themen 5
R Erste Schritte Bausteine mit Pfaden verbinden Java Basics - Anfänger-Themen 2
J Zellen verbinden in JTable Ueberschrift Java Basics - Anfänger-Themen 3
M Klassen verbinden Java Basics - Anfänger-Themen 4
M Klassen verbinden Java Basics - Anfänger-Themen 2
F Klassen Klassen miteinander Verbinden Java Basics - Anfänger-Themen 19
H OOP Mehrere Klassen 'verbinden'? Java Basics - Anfänger-Themen 4
N Erste Schritte jFrames verbinden Java Basics - Anfänger-Themen 6
M String mit String verbinden Java Basics - Anfänger-Themen 4
S reguläre Audrücke verbinden Java Basics - Anfänger-Themen 18
C Listen verbinden Java Basics - Anfänger-Themen 6
B Arrays sortiert verbinden Java Basics - Anfänger-Themen 7
J 2 Threads mit Pipe verbinden Java Basics - Anfänger-Themen 4
D Klassen verbinden (Referenzattribute) Java Basics - Anfänger-Themen 2
S Infos aus mehreren JVMS verbinden Java Basics - Anfänger-Themen 3
A mehrere Klassen verbinden Java Basics - Anfänger-Themen 7
U Klassen verbinden Java Basics - Anfänger-Themen 5
S Klassen verbinden Java Basics - Anfänger-Themen 10
M Mehrere Methoden verbinden Java Basics - Anfänger-Themen 8
J Wie mit Datenbank verbinden, z.B. DB2? VERZWEIFLUNG PUR! Java Basics - Anfänger-Themen 15
G Arrays verbinden Java Basics - Anfänger-Themen 3
C .Brauche H.I.L.F.E. 2 Klassen verbinden Java Basics - Anfänger-Themen 4
F JSF mit CSS verbinden // geht nicht ? Java Basics - Anfänger-Themen 3
M Mehrere Klassen verbinden - Module Java Basics - Anfänger-Themen 3
V Test mit JUnit verbinden Java Basics - Anfänger-Themen 3
0 Klassen Verbinden Java Basics - Anfänger-Themen 6
M Mehrere HashSets verbinden. Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben