找不到符号 - 变量UP

时间:2015-02-25 21:08:31

标签: java

我需要制作一个有4个按钮UP,DOWN,RIGHT和LEFT的盒子,在中心需要写入,所以每当我点击其中一个按钮时它会说'#34; Going Right!"它一直说不能找到符号 - 变量UP。我该怎么办?

import java.awt.BorderLayout;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import javax.swing.JFrame;

import javax.swing.JButton;

public class BorderLayoutFrame extends JFrame implements ActionListener
{

    private JButton[] buttons; 
    private static final String[] names = { "UP", "DOWN", "RIGHT", "LEFT", };
    private BorderLayout layout;


    public BorderLayoutFrame()
    {
        super ("BorderLayout Demo");

        layout = new BorderLayout( 5, 5); 
        setLayout( layout );
        buttons = new JButton[ names.length ];

        for ( int count = 0; count < names.length; count++ )
        {
            buttons[ count ] = new JButton( names[ count ] ); 
            buttons[ count ].addActionListener( this );
        }

        add( buttons[ 0 ], BorderLayout.UP ); 
        add( buttons[ 1 ], BorderLayout.DOWN );
        add( buttons[ 2 ], BorderLayout.RIGHT );
        add( buttons[ 3 ], BorderLayout.LEFT );
    }

    public void actionPerformed( ActionEvent event )
    {
        for ( JButton button  : buttons )
        {
            if ( event.getSource() == button)
               button.setVisible( false );

               button.setVisible( true );
            }
            layout. layoutContainer( getContentPane() );

}

}

2 个答案:

答案 0 :(得分:0)

您应该使用BorderLayout类中的位置常量。例如 BorderLayout.CENTER BorderLayout.NORTH BorderLayout.SOUTH

add( buttons[ 0 ], BorderLayout.NORTH ); 
add( buttons[ 1 ], BorderLayout.SOUTH);
add( buttons[ 2 ], BorderLayout.EAST);
add( buttons[ 3 ], BorderLayout.WEST );

答案 1 :(得分:0)

如评论中所述,您使用的是一些不存在的字段:

BorderLayout.UP
BorderLayout.DOWN
BorderLayout.LEFT
BorderLayout.RIGHT

这些应分别为:

BorderLayout.NORTH
BorderLayout.SOUTH
BorderLayout.EAST
BorderLayout.WEST

请参阅BorderLayout文档here。在提问之前,最好先检查下一次。