Java 为什么这些按钮不是';没有被创造?

Java 为什么这些按钮不是';没有被创造?,java,swing,Java,Swing,我使用Java graphics在JPanel中创建了一个500 x 500的棋盘,该棋盘放在JFrame中。为了制作这些片段,我编写了一系列for循环来创建所有的jbutton。以下for循环正确设置了电路板一侧的部件: for(int x = 355; x>=55;x-=100) { Piece p = new Piece(); p.addActionListener(new ButtonListener()); p.setBoun

我使用Java graphics在JPanel中创建了一个500 x 500的棋盘,该棋盘放在JFrame中。为了制作这些片段,我编写了一系列for循环来创建所有的jbutton。以下for循环正确设置了电路板一侧的部件:

    for(int x = 355; x>=55;x-=100)
    {
     Piece p = new Piece();


     p.addActionListener(new ButtonListener());


     p.setBounds(x,5,40,40);

     b.add(p);
    }

    for(int x = 5;x<=355; x+=100)
    {
        Piece p = new Piece();
        p.addActionListener(new ButtonListener());
        p.setBounds(x,55,40,40);
        b.add(p);

    }


     for(int x = 355; x>=55;x-=100)
    {
     Piece p = new Piece();
     p.addActionListener(new ButtonListener());
     p.setBounds(x,105,40,40);
     b.add(p);
    }
为什么会这样

循环

for (int x = 5; x >= 355; x += 100) {
    ... 
}
永远不会被输入

您正在将
x
设置为
5
。然后,您正在检查
x>=355
,这将是
false
,因为
5
不是
=355
循环

for (int x = 5; x >= 355; x += 100) {
    ... 
}
永远不会被输入


您正在将
x
设置为
5
。然后,您正在检查
x>=355
,这将是
false
,因为
5
不是
=355

我不知道其他人的情况,但要想找出问题所在,我需要看一个,这将让我亲身体验您的问题。我也不得不对你使用的绝对定位表示怀疑。如果这是我的程序,我的棋盘将是一个装有8 x 8彩色棋盘格的棋盘,我将把我的棋子放在棋盘格(JPanel)的中心。给每个正方形的JPanel一个GridBagLayout可以让它把一块放在它的中心。什么是
b
?它是在哪里定义的?Java GUI可能必须在许多平台上工作,在不同的屏幕分辨率上&使用不同的PLAF。因此,它们不利于部件的精确放置。相反,要组织一个健壮的GUI组件,或者,连同布局填充和边框。我不知道其他的,但要想找出问题所在,我需要看到一个,这将让我亲身体验您的问题。我也不得不对你使用的绝对定位表示怀疑。如果这是我的程序,我的棋盘将是一个装有8 x 8彩色棋盘格的棋盘,我将把我的棋子放在棋盘格(JPanel)的中心。给每个正方形的JPanel一个GridBagLayout可以让它把一块放在它的中心。什么是
b
?它是在哪里定义的?Java GUI可能必须在许多平台上工作,在不同的屏幕分辨率上&使用不同的PLAF。因此,它们不利于部件的精确放置。为一个健壮的GUI组织组件,而不是,或者,以及布局填充和边框。