/ / Border Layout programa não feito como esperado - java, swing, awt, gerenciador de layout, layout de borda

O programa Border Layout não foi executado como esperado - java, swing, awt, gerenciador de layout, layout de borda

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class BLayout
{
JFrame f;
JButton b[];
BLayout(String s)
{
f=new JFrame(s);
b=new JButton[5];
String b1[]={"NORTH","South","Center","East","WEst"};
String x[]=

{BorderLayout.NORTH,BorderLayout.SOUTH,BorderLayout.CENTER,BorderLayout.EAST,BorderLayout.WEST};
for(int i=0;i<b1.length();i++){
b[i]=new JButton(b1[i]);
f.add(b[i],x[i]);
}
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(400,400);
f.setVisible(true);
}
public static void main(String... s)
{
new BLayout("Border LAyout");
}
}

Erro mostra que "variável não encontrada".

O que devo fazer?

Por que b1.length não é considerado como 5 e quando eu dou 5 então não há erro.

Respostas:

1 para resposta № 1
for(int i=0;i<b1.length();i++)

Ao usar matrizes, o comprimento não é um método da matriz. É uma variável.

Você deveria estar usando:

for(int i = 0; i < b1.length; i++)

Também não tenha medo de usar "espaços em branco" ao codificar para tornar o código mais legível.