2013-10-10 3 views
0

Я подсчитал фигурные скобки и не могу понять, почему тело класса является неполным. Каждый раз, когда я пытаюсь исправить класс, он перепутал весь класс. Проблема - это самый последний класс в коде. Самая последняя фигурная скобка - это то, что дает мне проблемы с классом. Я использую Eclipse, чтобы написать это вНе удается завершить класс тела

Вот код для всей программы:.

import java.awt.BorderLayout; 
import java.awt.GridBagConstraints; 
import java.awt.GridBagLayout; 
import java.awt.Insets; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 

import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 


public class Stocks { 

public static void main(String [] args) { 

    JFrame frame = new JFrame ("Java Stocks"); 
    frame.setSize(700,700); 
    frame.setVisible(true); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    JPanel panel = new JPanel (new GridBagLayout()); 
    frame.add(panel); 
    frame.getContentPane().add(panel, BorderLayout.WEST); 
    GridBagConstraints c = new GridBagConstraints(); 




    JButton button1 = new JButton("Profile"); 
    c.gridx = 0; 
    c.gridy = 0; 
    c.insets = new Insets(40, 40, 40, 40); 
    panel.add(button1, c); 
    button1.addActionListener(new Action()); 

} 
static class Action implements ActionListener { 

    public void actionPerformed (ActionEvent e) { 
     JFrame frame2 = new JFrame("Your Stocks"); 
     frame2.setVisible(true); 
     frame2.setSize(600,600); 
     JLabel label = new JLabel("Your Personal Stocks"); 
     JPanel panel = new JPanel(); 
     frame2.add(panel); 
     panel.add(label); 

    } 
     public static void main(String [] args) { 
      GridBagConstraints c = new GridBagConstraints(); 
    JButton button2 = new JButton("Market"); 
    c.gridx = 0; 
    c.gridy = 1; 
    c.insets = new Insets(40, 40, 40, 40); 
    button2.addActionListener(new Action()); 

     } 
     static class Action2 implements ActionListener { 

      public void actionPerformed (ActionEvent e) { 
       JFrame frame2 = new JFrame("Your Stocks"); 
       frame2.setVisible(true); 
       frame2.setSize(600,600); 
       JLabel label = new JLabel("Your Personal Stocks"); 
       JPanel panel = new JPanel(); 
       frame2.add(panel); 
       panel.add(label); 

      } 

     public static void main(String [] args) { 
      GridBagConstraints c = new GridBagConstraints(); 

    JButton button3 = new JButton("Users"); 
    c.gridx = 0; 
    c.gridy = 2; 
    c.insets = new Insets(40, 40, 40, 40); 
    button3.addActionListener(new Action()); 

     } 
     static class Action3 implements ActionListener { 

      public void actionPerformed (ActionEvent e) { 
       JFrame frame2 = new JFrame("Your Stocks"); 
       frame2.setVisible(true); 
       frame2.setSize(600,600); 
       JLabel label = new JLabel("Your Personal Stocks"); 
       JPanel panel = new JPanel(); 
       frame2.add(panel); 
       panel.add(label); 

      } 

     public static void main(String [] args) { 
      GridBagConstraints c = new GridBagConstraints(); 
    JButton button4 = new JButton("Notes"); 
    c.gridx = 0; 
    c.gridy = 3; 
    c.insets = new Insets(40, 40, 40, 40); 
    button4.addActionListener(new Action()); 


     } 
     static class Action4 implements ActionListener { 

      public void actionPerformed (ActionEvent e) { 
       JFrame frame2 = new JFrame("Your Stocks"); 
       frame2.setVisible(true); 
       frame2.setSize(600,600); 
       JLabel label = new JLabel("Your Personal Stocks"); 
       JPanel panel = new JPanel(); 
       frame2.add(panel); 
       panel.add(label); 

      } 

     public static void main(String [] args) { 
      GridBagConstraints c = new GridBagConstraints(); 
    JButton button5 = new JButton("Information"); 
    c.gridx = 0; 
    c.gridy = 4; 
    c.insets = new Insets(40, 40, 40, 40); 
    button5.addActionListener(new Action()); 

     } 
     static class Action5 implements ActionListener { 



      public void actionPerformed (ActionEvent e) { 
       JFrame frame2 = new JFrame("Your Stocks"); 
       frame2.setVisible(true); 
       frame2.setSize(600,600); 
       JLabel label = new JLabel("Your Personal Stocks"); 
       JPanel panel = new JPanel(); 
       frame2.add(panel); 
       panel.add(label); 
      } 
+0

, когда ваш код класса слишком длинный для stackoverflow - это время, чтобы его реорганизовать! – RamonBoza

+0

Вам не хватает 6 x '}' – Neet

+1

Столько статических, что вам нужно, чтобы их заземлить. – maksimov

ответ

2

Из-за запутанные отступы, это не очевидно, что вы вложенность ваших вложенных классов друг в друг. Action5 вложен в Action4, который вложен в Action3, который вложен в Action2, который вложен в Action, который вложен в Stocks.

В любом месте 5 скобок в самом конце файла, чтобы закрыть все ваши классы или даже лучше, вставьте их все непосредственно в Stocks, а не друг в друга.

+0

Я думаю, что это сгенерировано каким-то GUI-конструктором, а 'Action1' -' Action5' являются копиями и даже не используются нигде. – maksimov

+0

Как бы я точно их вложил в акции? Мне нужен визуальный аспект. Я не использую построитель GUI, я использую только код. он был скопирован и вставлен так, что когда пользователь нажмет кнопку A, он откроет новый графический интерфейс. – Aaron

1

Попробуйте использовать crlt + Shift + F для форматирования кода

0

Когда вы чистите это, ваш код должен выглядеть как-то вроде этого:

import java.awt.BorderLayout; 
import java.awt.GridBagConstraints; 
import java.awt.GridBagLayout; 
import java.awt.Insets; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 

import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 

class Action implements ActionListener { 

    public void actionPerformed (ActionEvent e) { 
     JFrame frame2 = new JFrame("Your Stocks"); 
     frame2.setVisible(true); 
     frame2.setSize(600,600); 
     JLabel label = new JLabel("Your Personal Stocks"); 
     JPanel panel = new JPanel(); 
     frame2.add(panel); 
     panel.add(label); 
    } 
} 

public class Stocks { 

    public static void main(String [] args) { 
     JFrame frame = new JFrame ("Java Stocks"); 
     frame.setSize(700,700); 
     frame.setVisible(true); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     JPanel panel = new JPanel (new GridBagLayout()); 
     frame.add(panel); 
     frame.getContentPane().add(panel, BorderLayout.WEST); 
     GridBagConstraints c = new GridBagConstraints(); 

     JButton button1 = new JButton("Profile"); 
     c.gridx = 0; 
     c.gridy = 0; 
     c.insets = new Insets(40, 40, 40, 40); 
     panel.add(button1, c); 
     button1.addActionListener(new Action()); 
    } 

} 

Мой совет # 1: сначала научиться код с клавиатурой, а не с мышью.

Мой совет № 2: если вы не уверены в том, для чего нужен модификатор static, и какие последствия, не используйте его.

Смежные вопросы