dodanie kolejnego combobox

0

Cześć,

Mam taki problem, że mam comboboxa i klika pól textowych, ale chciałbym żeby po kliknięciu przycisku "dodaj" dodawała się taki sam wiersz z możliwościami wyboru. Tych wierszy ma być w teorii nieskończenie dużo tzn. możemy sobie ich dodać ile chcemy. Pomoże mi ktoś to rozwiązać? Kod który mam aktualnie robi tylko 1 wiersz. No i jeszcze trzeba gdzieś zapisywać te wszystkie zmienne, którę się wybrało lub wpisało. Myślałem o jakiejś tablicy, ale nie wiem czy zapisywanie zmiennych podczas kliknięcia "dalej" i inkrementacja indexu jest ok.

//pola
		//Drzewa
		lDrzewa = new JLabel();
		lDrzewa.setBounds(50, 20, 50, 20);
		lDrzewa.setText("Drzewa");
		add(lDrzewa);
		cCombo = new JComboBox();
		cCombo.setBounds(50, 50, 100, 20);
		cCombo.addItem("--wybierz--");
		cCombo.addItem("Dab");
		cCombo.addItem("Brzoza");
		cCombo.addItem("Modrzew");
		cCombo.addItem("Buk");
		add(cCombo);
		cCombo.addActionListener(this);
		
		lIloscDrzew = new JLabel();
		lIloscDrzew.setBounds(170, 20, 50, 20);
		lIloscDrzew.setText("Ilość");
		add(lIloscDrzew);
		tIloscDrzew = new JTextField();
		tIloscDrzew.setBounds(170, 50, 30, 20);
		add(tIloscDrzew);
		
		lCenaDrzew = new JLabel();
		lCenaDrzew.setBounds(220, 20, 50, 20);
		lCenaDrzew.setText("Cena/szt");
		add(lCenaDrzew);
		tCenaDrzew = new JTextField();
		tCenaDrzew.setBounds(220, 50, 50, 20);
		add(tCenaDrzew);
		
		lCenaDrzewCalosc = new JLabel();
		lCenaDrzewCalosc.setBounds(290, 20, 50, 20);
		lCenaDrzewCalosc.setText("Cena");
		add(lCenaDrzewCalosc);
		tCenaDrzewCalosc = new JTextField();
		tCenaDrzewCalosc.setBounds(290, 50, 50, 20);
		add(tCenaDrzewCalosc);
		
                bDalej = new JButton();
		bDalej.setBounds(50, 200, 100, 20);
		bDalej.setText("Dalej");
		add(bDalej);
		bDalej.addActionListener(this);

		bPrzelicz = new JButton();
		bPrzelicz.setBounds(50, 200, 100, 20);
		bPrzelicz.setText("Przelicz");
		add(bPrzelicz);
		bPrzelicz.addActionListener(this);
0

żeby po kliknięciu przycisku "dodaj" dodawała się taki sam wiersz z możliwościami wyboru

A po polsku?

0

Mam taki kod. Jak klikam "ADD" to dodaje mi nowy wiersz, niestety muszę przełączyć się między zakładkami aby był widoczny. I nie mam pojęcia jak odwoływać się do nich w ActionListenerze.

	
class tab4 extends JPanel implements ActionListener
	{
		String[] combo1 = {"--Wybierz--","Różanecznik","Żywopłot","Test", "Modrzewik"};
		//JComboBox cCombo1, cCombo2, cCombo3;
		private JComboBox[] cCombo;
		private JLabel[] lDrzewa, lIloscDrzew, lIloscKrzewow, lCenaDrzew, lCenaKrzewow, lCenaDrzewCalosc;
		private JTextField[] tIloscDrzew, tIloscKrzewow, tCenaDrzew,tCenaDrzewCalosc;
		private JButton bPrzelicz, bDodaj;
		private JTextField tSuma;
		private JLabel lSuma;
		int[] cena;
		int[] ilosc;
		int[] iloscDrzew;
		int suma;
		int wiersze=1;
public tab4()
		{

			setLayout(null);
			cCombo = new JComboBox[wiersze];
			lIloscDrzew = new JLabel[wiersze];
			lCenaDrzew = new JLabel[wiersze];
			lCenaDrzewCalosc = new JLabel[wiersze];
			tCenaDrzew = new JTextField[wiersze];
			tCenaDrzewCalosc = new JTextField[wiersze];
			tIloscDrzew = new JTextField[wiersze];
			iloscDrzew = new int[wiersze];
			ilosc = new int[wiersze];
			cena = new int[wiersze];


			bDodaj = new JButton();
			bDodaj.setBounds(50, 50, 100, 20);
			bDodaj.setText("add");
			add(bDodaj);
			bDodaj.addActionListener(this);
			lDrzewa = new JLabel[wiersze];

		}
		class wiersz
		{
			public wiersz()
			{

			}
			int wysokosct=70;
			int wysokoscl=50;
			public  void setWiersz()
			{
				try{
					for(int i=0; i<=wiersze;i++)
					{

						cCombo[i] = new JComboBox();
						cCombo[i].setBounds(50, wysokosct, 100, 20);  // s=50 w=50
						for(int j =0 ; j< combo1.length;j++)
						{
							cCombo[i].addItem(combo1[j]);
						}
						add(cCombo[i]);
						//	cCombo[i].addActionListener((ActionListener) this);

						lIloscDrzew[i] = new JLabel();
						lIloscDrzew[i].setBounds(170, wysokoscl, 50, 20);
						lIloscDrzew[i].setText("Ilość");
						add(lIloscDrzew[i]);
						tIloscDrzew[i] = new JTextField();
						tIloscDrzew[i].setBounds(170, wysokosct, 30, 20);
						add(tIloscDrzew[i]);

						lCenaDrzew[i] = new JLabel();
						lCenaDrzew[i].setBounds(220, wysokoscl, 50, 20);
						lCenaDrzew[i].setText("Cena/szt");
						add(lCenaDrzew[i]);
						tCenaDrzew[i] = new JTextField();
						tCenaDrzew[i].setBounds(220, wysokosct, 50, 20);
						add(tCenaDrzew[i]);

						lCenaDrzewCalosc[i] = new JLabel();
						lCenaDrzewCalosc[i].setBounds(290, wysokoscl, 50, 20);
						lCenaDrzewCalosc[i].setText("Cena");
						add(lCenaDrzewCalosc[i]);
						tCenaDrzewCalosc[i] = new JTextField();
						tCenaDrzewCalosc[i].setBounds(290, wysokosct, 50, 20);
						add(tCenaDrzewCalosc[i]);
						j=j+50;
						wysokosct+=50;
						wysokoscl += 50;
					}
				}catch(ArrayIndexOutOfBoundsException w){System.out.println("lol blad");}
			}
			public void setWiersze()
			{
				this.wiersze+=1;
			}
			public int getWiersze()
			{
				return this.wiersze;
			}
			public void setIlosc(int i){
				tIloscDrzew[0].setText(String.valueOf(i));
			}

			private int j=250;
			private int wiersze=1;
		}
		wiersz wiersz = new wiersz();
		@Override
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			Object zrodlo = e.getSource();

			if(zrodlo == bDodaj)
			{
				wiersz.setWiersz();
				wiersz.setWiersze();
			}
			try{
				if(zrodlo==cCombo[0])
				{
					for(int i=0;i<wiersz.getWiersze();i++)
					{
						if(zrodlo==cCombo[i])
						{
							System.out.println("wchodze w ifa 2");
							String wybor = cCombo[i].getSelectedItem().toString();
							if(wybor.equals("Różanecznik"))
							{ //Różanecznik","Żywopłot","Test", "Modrzewik
								System.out.println("Różanecznik");
								tCenaDrzew[i].setText("200");
								tIloscDrzew[i].setText("1");
								wiersz.setIlosc(1);
							}
							else if(wybor.equals("Żywopłot"))
							{
								System.out.println("Żywopłot");
								tCenaDrzew[i].setText("100");
								tIloscDrzew[i].setText("1");
							}
							else if(wybor.equals("Test")){
								tCenaDrzew[i].setText("100");
								tIloscDrzew[i].setText("1");
							}
							else if(wybor.equals("Modrzewik")){
								tCenaDrzew[i].setText("300");
								tIloscDrzew[i].setText("1");
							}
							else
							{
								tCenaDrzew[i].setText("0");
								tIloscDrzew[i].setText("1");
							}

							break;
						}
						else
							System.out.println("ttt");
					}
				}
				else
					System.out.println("teeest");

			}catch(ArrayIndexOutOfBoundsException z){System.out.println("lol");}

		}

	}}

1 użytkowników online, w tym zalogowanych: 0, gości: 1