2016-07-10 3 views
0

Dieser Code wird drei Fehler auf NetBeans für diese Zeilen zurück:Kompilieren kehrt Methoden und Pakete von Swing JFrame Klasse in Java fehlt

leftPanel.setLayout (leftBox); 
leftPanel.add (optionBar); 
leftPanel.add (tabBar); 
leftPanel.add (paintArea); 
rightPanel.setLayout (rightBox); 
rightPanel.add (toolbar); 
rightPanel.add (toolArea); 

Es gibt:

package rightPanel does not exist 

<identifier> expected 

missing method body, or declare abstract 

<identifier> expected 
---- 

Das Programm auch Probleme hat mit dieser Teil:

setLayout(flo); 

add(leftPanel); 

add(rightPanel); 

und Rückkehr:

ungültige Methodendeklaration; Rückgabetyp erforderlich

Ich habe versucht zu suchen und Informationen für alle Arten von Problemen gefunden, aber ich kann nichts direkt zu meinem persönlichen Problem finden.

Hier ist der vollständige Code:

package level.builder; 

import javax.swing.*; 
import java.awt.*; 

public class LevelBuilderGUI extends JFrame { 

    //Version For the Title 
    private static String version = "Alpha"; 

    //Creating leftmost panel 
    JPanel leftPanel = new JPanel(); 
    BoxLayout leftBox = new BoxLayout(leftPanel, BoxLayout.Y_AXIS); 

    leftPanel.setLayout (leftBox); 
    JPanel optionBar = new JPanel(); 

    leftPanel.add (optionBar); 
    JPanel tabBar = new JPanel(); 

    leftPanel.add (tabBar); 
    JPanel paintArea = new JPanel(); 

    leftPanel.add (paintArea); 

    //Creating rightmost panel 
    JPanel rightPanel = new JPanel(); 
    BoxLayout rightBox = new BoxLayout(rightPanel, BoxLayout.Y_AXIS); 

    rightPanel.setLayout (rightBox); 
    JPanel toolBar = new JPanel(); 

    rightPanel.add (toolbar); 
    JPanel toolArea = new JPanel(); 

    rightPanel.add (toolArea); 

    //Putting it all together 
    FlowLayout flo = new FlowLayout(); 

    setLayout(flo); 

    add(leftPanel); 

    add(rightPanel); 

    public LevelBuilderGUI() { 
     super(); 
     setTitle("Level Builder version" + version); 
     setLookAndFeel(); 
     setSize(512, 128); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     setVisible(true); 

    } 

    private void setLookAndFeel() { 
     try { 
      UIManager.setLookAndFeel(
       "com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel);"); 
     } catch (Exception e) { 
     } 
    } 
} 

Bitte helfen Sie mir meine Fehler zu verstehen.

Edit: Danke für die Hilfe, ich sehe, dass das Problem, das ich hatte, war den gesamten Code außerhalb einer Methode. Der Code wird jetzt ausgeführt, nachdem er in den Konstruktor verschoben wurde.

+0

Der meiste Code sollte von einem Konstruktor oder einer Methode eingeschlossen sein. –

+0

Bearbeiten Sie Ihre Frage so, dass sie eine [mcve] enthält, die die von Ihnen beschriebenen Probleme aufweist. – trashgod

Antwort

0

Probieren Sie alle diese Zeilen, Sie erhalten den Fehler im Konstruktor. Sie erhalten diese Fehler, weil Sie Methoden für die Attribute im "body" Ihrer Klasse außerhalb jeder Kapselung aufrufen.

Ratschlag hier: Überprüfen Sie die Sichtbarkeit Ihrer Attribute, es ist nie eine gute Übung, lassen Sie sie so frei. ;)