错误:找不到合适的add方法(String)

时间:2013-09-11 10:27:17

标签: java arrays string swing methods

每次运行程序时,我只收到一条错误消息。这只是我代码的一小部分:

JFrame f; JPanel p1;
int i=0, m=0;
int[] subbb = {0,1,2,3};
String[] status = {"Add", "Repeat"};
String[] comboStat = {"combo_status1", "combo_status2","combo_status3", "combo_status4"};               
JComboBox combo_status1, combo_status2, combo_status3, combo_status4;
JComboBox combo_set_panel = new new JComboBox(subbb);

combo_status1=new JComboBox(status); combo_status2=new JComboBox(status);
combo_status3=new JComboBox(status); combo_status4=new JComboBox(status);

for(i=0; i<4; i++) {
   if (combo_set_panel.getSelectedIndex() == subbb[i]) {
      for(m=0; m<=subbb[i]; m++)
      {
         p1.add(comboStat[m]); //Error Message Shows This Line
      }
   }
}

f.add(p1);

但是,在运行此程序时。我收到此错误消息:

Add a String: error: no suitable method found for add(String)

任何人都请告诉我这个错误的解决方案。 add(String)的适用方法是什么?

2 个答案:

答案 0 :(得分:1)

什么是ComboStat? (很快就会被称为comboStat,因为你会跟随Java Naming Conventions :))这是一个字符串数组。

p1的类型是什么?这是一个JPanel

add接受ComponentString <{1}}。

您可能想要这样做:

Component

要插入JLabel a p1.add(new JLabel(ComboStat[m])); ):

enter image description here

答案 1 :(得分:0)

问题在这一行

combo_status1=new JComboBox(status);

您正在传递数组而不是String