我在java中不是那么好..我在一个项目中工作,在我的项目中程序应该绘制k-map,我用标签绘制它,它的作品很好..我只是想知道是否有通过改变标签的背景颜色来进行分组的任何简单方法..?问题是我没有任何有效的方法..唯一的方法是使用可能发生的所有概率将这些概率分组并将其放入if语句!!(我知道这将是概率的特殊情况,尤其是当变量的数量是四):(
像这样(我不会发布所有内容):if(lbl1.getText().equals("1")&& lbl2.getText().equals("")&&lbl3.getText().equals("")&& lbl4.getText().equals("")&&lbl5.getText().equals("")&& lbl6.getText().equals("")
&&lbl7.getText().equals("")&& lbl8.getText().equals("")&&lbl9.getText().equals("")&& lbl10.getText().equals("")&&lbl11.getText().equals("")&& lbl12.getText().equals("")
&&lbl13.getText().equals("")&& lbl14.getText().equals("")&&lbl15.getText().equals("")&&lbl16.getText().equals("")){
lbl1.setOpaque(true);
lbl1.setBackground(Color.blue);
}
else if(lbl1.getText().equals("")&& lbl2.getText().equals("1")&&lbl3.getText().equals("")&& lbl4.getText().equals("")&&lbl5.getText().equals("")&& lbl6.getText().equals("")
&&lbl7.getText().equals("")&& lbl8.getText().equals("")&&lbl9.getText().equals("")&& lbl10.getText().equals("")&&lbl11.getText().equals("")&& lbl12.getText().equals("")
&&lbl13.getText().equals("")&& lbl14.getText().equals("")&&lbl15.getText().equals("")&&lbl16.getText().equals("")){
lbl2.setOpaque(true);
lbl2.setBackground(Color.blue);
}
else if(lbl1.getText().equals("")&& lbl2.getText().equals("")&&lbl3.getText().equals("")&& lbl4.getText().equals("")&&lbl5.getText().equals("1")&& lbl6.getText().equals("")
&&lbl7.getText().equals("")&& lbl8.getText().equals("")&&lbl9.getText().equals("")&& lbl10.getText().equals("")&&lbl11.getText().equals("")&& lbl12.getText().equals("")
&&lbl13.getText().equals("")&& lbl14.getText().equals("")&&lbl15.getText().equals("")&&lbl16.getText().equals("")){
lbl5.setOpaque(true);
lbl5.setBackground(Color.blue);
}
else if(lbl1.getText().equals("")&& lbl2.getText().equals("")&&lbl3.getText().equals("")&& lbl4.getText().equals("")&&lbl5.getText().equals("")&& lbl6.getText().equals("1")
&&lbl7.getText().equals("")&& lbl8.getText().equals("")&&lbl9.getText().equals("")&& lbl10.getText().equals("")&&lbl11.getText().equals("")&& lbl12.getText().equals("")
&&lbl13.getText().equals("")&& lbl14.getText().equals("")&&lbl15.getText().equals("")&&lbl16.getText().equals("")){
lbl6.setOpaque(true);
lbl6.setBackground(Color.blue);
}
else if(lbl1.getText().equals("1")&& lbl2.getText().equals("1")&&lbl3.getText().equals("")&& lbl4.getText().equals("")&&lbl5.getText().equals("")&& lbl6.getText().equals("")
&&lbl7.getText().equals("")&& lbl8.getText().equals("")&&lbl9.getText().equals("")&& lbl10.getText().equals("")&&lbl11.getText().equals("")&& lbl12.getText().equals("")
&&lbl13.getText().equals("")&& lbl14.getText().equals("")&&lbl15.getText().equals("")&&lbl16.getText().equals("")){
lbl1.setOpaque(true);
lbl1.setBackground(Color.blue);
lbl2.setOpaque(true);
lbl2.setBackground(Color.blue);
}
答案 0 :(得分:2)
使用名为labels
的所有16个标签的数组(或列表),类似于:
for (final JLabel label : labels) {
// reset others?
if ("1".equals(label.getText()) {
label.setOpaque(true);
label.setBackground(Color.blue);
}
}