2016-04-24 44 views
0

我的代碼用於使用jpanel預訂總線,我需要從第二個類添加數組到我的第一個數組。需要預先填充數組,我可以但是。我不知道從第二堂課進入。我的代碼是使用數組並將它們變成一個組合框。我已經和其他人一起完成了這個任務,但是我需要在另一個數組中創建一個數組,並將數組傳遞迴第一個類並將其轉換爲組合框。我只需要訪問它的幫助。從另一個類訪問它並作爲組合框使用的Java數組

我剛剛添加了額外的代碼,但不確定。如果我弄錯了,你能顯示它應該去的地方,否則它會花一段時間。第一堂課沒問題第二堂課已經失去了錯誤,這次不知道是什麼原因造成的。

code 2 red lines

一流:

package learning; 
    import javax.swing.*; 
    import java.awt.*; 
    import java.awt.event.*; 
    import java.util.ArrayList; 
    import java.util.Arrays; 
    import java.util.List; 


    @SuppressWarnings("unused") 
    public class test { 

     String[] items = {"Tipperary","Cork","Limerick","Dublin"}; 
     JComboBox c = new JComboBox(items); 
     JButton b = new JButton("From"); 
     JLabel l = new JLabel("Choose orgin"); 

     JComboBox h = new JComboBox(items); // To destination 
     JButton f = new JButton("To"); 
     JLabel g = new JLabel("Choose destination"); 

     String[] items2 = {"window","aisle"}; 
     JComboBox m = new JComboBox(items2); 
     JButton n = new JButton("Seat"); 
     JLabel o = new JLabel("choose seat"); 

     String[] items3 = {"Single","return"}; 
     JComboBox x = new JComboBox(items3); 
     JButton y= new JButton("Ticket"); 
     JLabel z = new JLabel("choose Ticket"); 


     JComboBox xx = new JComboBox(); 
     JButton yy = new JButton("Ticket"); 
     JLabel zz = new JLabel("choose Ticket"); 


     public test(){ 

     frame(); 

     } 
     public void frame(){ 

     JFrame wolf = new JFrame();//frame 
     wolf.setVisible(true); 
     wolf.setSize(350,350); 
     wolf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     JPanel p = new JPanel(); 

     p.add(c);// 
     p.add(b);// 
     p.add(l);//lable1 
     p.add(h);// 
     p.add(f);// 
     p.add(g);//lable 2 
     p.add(m);// 
     p.add(n);// 
     p.add(o);//lable 2 
     p.add(x);// 
     p.add(y);// 
     p.add(z);//lable 2 
     p.add(xx);// 
     p.add(yy);// 
     p.add(zz);//lable 2 


     wolf.add(p); 

     b.addActionListener(new ActionListener(){ 
      public void actionPerformed(ActionEvent e){ 
     String s = c.getSelectedItem().toString(); 
      l.setText(s); 
      } 
     }); 


     f.addActionListener(new ActionListener(){ 
       public void actionPerformed(ActionEvent e){ 
      String s = h.getSelectedItem().toString(); 
       g.setText(s); 
       } 
      }); 

     n.addActionListener(new ActionListener(){ 
       public void actionPerformed(ActionEvent e){ 
      String s = m.getSelectedItem().toString(); 
       o.setText(s); 
       } 
      }); 

     y.addActionListener(new ActionListener(){ 
       public void actionPerformed(ActionEvent e){ 
      String s = x.getSelectedItem().toString(); 
       z.setText(s); 
       } 
      }); 
      } 
     { 
     } 
    public static void main(String[]args){ 

     nextstep myNextstep = new nextstep(); 
     List List = (myNextstep).getList(); 


     new test(); 

     } 

    } 

代碼2:

 package learning; 
    import java.util.List; 
    import java.util.ArrayList; 

    public class nextstep { 
    private int number1 = 1; 
    private int number2 = 2; 
    private int number3 = 3; 
    private int number4 = 4; 
    private int number5 = 5; 
    private int number6 = 6; 
    private int number7 = 7; 
    private int number8 = 8; 
    private int number9 = 9; 
    private int number10 = 10; 
    private int number11 = 11; 
    private int number12 = 12; 
    private int number13 = 13; 
    private int number14 = 14; 
    private int number15 = 15; 
    private int number16 = 16; 

    public List <Integer> getList() { return list; } 

    public nextstep() { 
     list = new ArrayList<Integer>(); 
     list.add(number1); 
     list.add(number2); 
     list.add(number3); 
     list.add(number4); 
     list.add(number5); 
     list.add(number6); 
     list.add(number7); 
     list.add(number8); 
     list.add(number9); 
     list.add(number10); 
     list.add(number11); 
     list.add(number12); 
     list.add(number13); 
     list.add(number14); 
     list.add(number15); 
     list.add(number16); 
    } 
    public List <Integer> getList() 
    { 
     return list; } 
    } 
+0

旁白:請不要問私人/電子郵件幫助。這個網站的重點是爲海報和未來的讀者提供幫助,所以如果你得到私人幫助,未來的讀者將會失去。你所問的問題可能太寬泛了。 – halfer

+0

我的整個問題是讓我的第二個類中的這個數組可用於我的第一個類,所以我可以在jcombobox中使用它。我需要看到輸入的代碼改進。到目前爲止,說一行代碼如果他給我發了電子郵件,並且如果代碼措辭起作用,我就會把它貼出來供其他人使用。 – freddyReady

回答

0

JComboBox c = new JComboBox(items); //這是錯誤的 您需要設置一個新的組合框模型與您的陣列做這樣這 相應地更改其他組合框

c.setModel(new DefaultComboBoxModel(item)); 

//如果你想加你從第二類 的GetList得到了什麼是返回一個ArrayList,如果你想將它們添加到您的組合框,你需要通過toArray();

c.setModel(new nextstep().getList().toArray()); 
將其轉換成一個數組
+0

在你的應用程序的構造函數中調用這個方法 – Priyamal

1

這似乎只是一個創建第二類的一個對象的問題,並要求與提供的方法列表:

nextstep myNextstep = new nextstep(); 
List<Integer> myList = myNextstep.getList(); 
+0

什麼類可以實現,我已經得到了紅線 – freddyReady

+0

無論你需要列表,什麼和錯誤在哪裏? –

+0

我在.getList()下面得到一條紅線。其保持說是未定義和檢查選項我產生一個代碼,不幫助 – freddyReady