No idea where compiler errors are forming when using JLayeredPane

你。 提交于 2019-12-11 10:26:50

问题


So, in my last question ("Can't figure out how to overlap images in java") I was kindly advised to utilize layout managers and the JLayeredPane. However, after studying the demos, and forming my own code, I have a whopping 34 compiler errors. The compiler errors are consistently "" so there's probably something wrong with importing. However I copied the import list exactly from the LayeredPane Demo. Once again, I am stumped. And also once again, I thank anyone in advance for advice!

import javax.swing.*;
import javax.swing.border.*;
import javax.accessibility.*;

import java.awt.*;
import java.awt.event.*;


public class SlotAnimatorTest extends JPanel
{
  JPanel pane = new JPanel ();
  pane.setPreferredSize(new Dimension(1500, 1500));
  JPanel slotAnim;

  private JPanel showSlotAnimators ()
  {
    slotAnim = new JPanel ();

    SlotAnimator a0 = new SlotAnimator (45);
    SlotAnimator a1 = new SlotAnimator (90);
    SlotAnimator a2 = new SlotAnimator (180);

    slotAnim.setLayout (new GridLayout (3,0,20,30));
    slotAnim.add (a0);
    slotAnim.add (a1);
    slotAnim.add (a2);

    return slotAnim;
  }

  ImageIcon background = new ImageIcon ("/Users/haleywight/Documents/slotmachine.png");
  JLabel bG = new JLabel (background);
  bGsetBounds(1500, 760, background.getIconWidth(), background.getIconHeight());
  pane.add (bG, newInteger(0),0);

  pane.add (showSlotAnimators (), newInteger (1));

      private static void createAndShowGUI() 
      {

        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JComponent newContentPane = new SlotAnimatorTest();
        newContentPane.setOpaque(true); //content panes must be opaque
        frame.setContentPane(newContentPane);

        //Display the window.
        frame.pack();
        frame.setVisible(true);
     }

  public static void main (String [] args)
    {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }

}

回答1:


This has nothing to do with JLayeredPane and much to do with basic Java. You can't call a method in the class and outside of a method or constructor or static/non-static initializer blocks.




回答2:


Following statements must be placed inside the method.

bGsetBounds(1500, 760, background.getIconWidth(), background.getIconHeight());
pane.add (bG, newInteger(0),0);
pane.add (showSlotAnimators (), newInteger (1));


来源:https://stackoverflow.com/questions/7550165/no-idea-where-compiler-errors-are-forming-when-using-jlayeredpane

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!