我需要制作一个有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() );
}
}
答案 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。在提问之前,最好先检查下一次。