Przekazanie wartości pola

0

Witam,
mam takie pytanko jak przekazać wartość pola z jednej klasy do drugiej?
Np. mam jedną klasę A

 
Class KlasaA{
public JTable tabela =  new JTable();
public int numerWiersza = tabela.getSelectedRow();
}

i teraz w klasie B chciałbym sprawdzić czy numerWiersza jest np. równy 2. Lub w klasie B chciałbym wyświetlić wartość znajdującą się w zmiennej numerWiersza z klasyA. Próbowałem kilku sposobów ale nie bardzo chiały mi działać :-(
Proszę o porady i wskazówki.

0

Jesteś 3457 osobą, która w tym roku zadaje to pytanie na forum.

0
Class KlasaB {
   KlasaA obiektA = new KlasaA();
   int numer = obiektA.numerWiersza;
}

poprawnie powinieneś zmienne oznaczyć jako private i napisać publiczne metody get i set np:

Class KlasaA{
   private JTable tabela =  new JTable();
   private int numerWiersza = tabela.getSelectedRow();

   public int getNumerrWiersza () {
      return numerWiersza;
   }
   public void setNumerWiersza(int numerWiersza) {
      this.numerWiersza = numerWiersza;
   }
   //itd
}
Class KlasaB {
   KlasaA obiektA = new KlasaA();
   int numer = obiektA.getNumerWiersza();
}
0

A więc zrobiłem tak jak mówił kolega pk ale dalej nie bardzo chce wyjść.
W klasieA zrobiłem tak:

 
Class KlasaA{
private int numerWiersza=123;


	public void setNumerWiersza(int numerWiersza){
		this.numerWiersza=numerWiersza;
	}
	
	public int getNumerWierszWJTable(){
		return this.numerWiersza;
	}

......
if (klik.getActionCommand().equals("szukaj nazwy")){
			setNumerWiersza(tabela.getSelectedRow());
			System.out.println(getNumerWierszWJTable());
		}
}

A w KlasieB tak:

 
Class KlasaB{
OknoAdmina oknoAdmina= new OknoAdmina();
	

	public void pokazNumerZaznaczonegoWiersza(){
		int numer = oknoAdmina.getNumerWierszWJTable();
		System.out.println(numer);
	}
}

I teraz jest tak, że w klasieA pokazuje dobra wartość a w klasieB pokazuje to co jest przypisane tutaj

 private int numerWiersza=123;

czyli wartość 123. :-(

1

Dopiera teraz przeczytałem propozycję @pk_82, ona jest bezsensowna. Jedna z możliwości jest taka, że obiekt KlasyA tworzy obiekt KlasyB

Class KlasaA{
   private JTable tabela =  new JTable();
   private int numerWiersza = tabela.getSelectedRow();
 
   public int getNumerrWiersza () {
      return numerWiersza;
   }
   public void setNumerWiersza(int numerWiersza) {
      this.numerWiersza = numerWiersza;
   }
   ....obiektB = new KlasaB(this);
   
}
Class KlasaB {
   KlasaA parent=null;
   KlasaB(KlasaA parent)
   {
       this.parent=parent;
   }
   int numer = parent.getNumerWiersza();
}

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