如何使循环继续直到什么都没发生?

时间:2014-01-31 01:16:30

标签: java while-loop

我正在使用JLabels编写一种购物清单,我有一个可以从列表中删除项目的按钮。我写了一些代码来使它变得紧密,并且所有JLabel都向上移动直到所有空间都被填满。问题是我必须按下每个JLabel的按钮才能移动。我想知道是否有人可以告诉我如何使用while循环在循环中运行代码,直到没有任何事情发生(这意味着没有间隙,一切都在顶部)

String remove1 = ListSlot1.getText();
String remove2 = ListSlot2.getText();
String remove3 = ListSlot3.getText();

if(remove1=="")
{
ListSlot1.setText(ListSlot2.getText());
ListSlot2.setText("");
}
if(remove2=="")
{
ListSlot2.setText(ListSlot3.getText());
ListSlot3.setText("");
}
if(remove3=="")
{
ListSlot3.setText(ListSlot4.getText());
ListSlot4.setText("");
}

2 个答案:

答案 0 :(得分:1)

首先remove3==""不是Java中String比较的方式。

您可以使用

if (remove3 == null || remove3.trim().isEmpty()) {...}

if (remove3 == null || remove3.trim().equals("")) {...}

,而不是...

其次,您应该使用JList代替。有关详细信息,请查看How to use Lists

答案 1 :(得分:0)

boolean changed = false;
do {
  do stuff;
  if (something has changed) { 
     changed = true;
  }
} while (changed);