public void testDialog()
{
JPanel myPanel = new JPanel();
JTextField tfNames [] = new JTextField[getNumOfPlayers()];
for(int i=0;i < getNumOfPlayers();i++)
{
tfNames[i] = new JTextField(20);
myPanel.add(new JLabel("Player " + (i+1)));
myPanel.add(tfNames[i]);
}
int result = JOptionPane.showConfirmDialog(null, myPanel,
"Please Enter The Player Names", JOptionPane.OK_CANCEL_OPTION);
playerNames = new String [getNumOfPlayers()];
if(result == JOptionPane.OK_OPTION)
{
for(int i=0;i < getNumOfPlayers();i++)
{
if(tfNames[i].getText() == null)
{
//NOT GETTING INSIDE HERE FOR ONE REASON OR ANOTHER
System.out.println("NULL FIELD" + i);
testDialog();
}
else
{
playerNames[i] = tfNames[i].getText();
System.out.println(playerNames[i]);
}
}
}
else if (result == JOptionPane.CANCEL_OPTION)
{
numPlayersDialog();
}
else
{
numPlayersDialog();
}
}
基本的に、「OK」ボタンがクリックされたときに textFields の 1 つが空白であるかどうかを確認しようとしていますが、このメソッドを再度呼び出すかどうかを確認しようとしていますが、何らかの理由で、textField がnull であろうとなかろうと、null であっても毎回スキップします:/ 誰でも理由を説明できますか? それを理解しようとして1時間設定しましたが、その理由を見つけることができませんでした:/アドバイスをありがとう。
PS。1 つ以上の textFields が空白のときに [OK] ボタンを無効にできない場合は、お知らせください。