我的表单出现了一个按钮网格出现问题。该表单应该显示一个按钮网格,这些按钮将用作简单战舰游戏的平台。
这是播放器网格面板的代码
package view;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JPanel;
public class PlayerPanel extends JPanel {
private List<PositionButton> ButtonList;
public PlayerPanel()
{
ButtonList = new ArrayList<PositionButton>();
for(int i = 0;i < 10;i++)
for(int j = 0;j < 10;j++)
{
ButtonList.add(new PositionButton(i,j));
}
while(ButtonList.iterator().hasNext())
{
this.add(ButtonList.iterator().next());
}
while(ButtonList.iterator().hasNext())
{
ButtonList.iterator().next().setVisible(true);
}
}
}
这是实际表单的类:
package view;
import java.awt.Dimension;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class GameForm {
private JFrame theFrame;
private JPanel BoardPanel;
private PlayerPanel p1Panel;
private PlayerPanel p2Panel;
public GameForm()
{
//set up the Frame
theFrame = new JFrame();
theFrame.setSize(new Dimension(800,500));
theFrame.setVisible(true);
theFrame.setResizable(false);
theFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//set up the board panel
BoardPanel = new JPanel();
theFrame.add(this.BoardPanel);
//set up the first players board
p1Panel = new PlayerPanel();
p1Panel.setLayout(new GridLayout(0,0));
this.BoardPanel.add(p1Panel);
p1Panel.setSize(new Dimension(400,250));
//set up the second players boards
p2Panel = new PlayerPanel();
p2Panel.setLayout(new GridLayout(0,0));
this.BoardPanel.add(p2Panel);
p2Panel.setSize(new Dimension(400,250));
BoardPanel.setVisible(true);
p1Panel.setVisible(true);
p2Panel.setVisible(true);
}
}
这是单个按钮的代码
package view;
import javax.swing.JButton;
public class PositionButton extends JButton {
private int x;
private int y;
public PositionButton(int x, int y)
{
this.x = x;
this.y = y;
this.setVisible(true);
}
public int getX()
{
return this.x;
}
public int getY()
{
return this.y;
}
}
我正在努力找出为什么我的按钮没有出现。提前谢谢你的帮助。