synchronizacja vectora

0

Witam mam maly problem prosze o pomoc. Mam pytanie jak zsynchronizowac dane z vectora z lista?
Mam vector dane: dane sa przekazywane przez konstruktor innej klasy
private Vector<String> dane = new Vector<String>();
dodawanie wyglada tak :

if (!jTextField1.getText().equals(""))
dane.add(jTextField1.getText());
i pozniej juz po przekazaniu do glownego form

jList1.setListData(dane);

wszystko jest ok dane sa do niego dodawane tylko nie wiem dlaczego jak chce je
wyswietlic w obiekcie jList to nie widac zadnych wartosci.czy moze ktos pomoc ?

0

więcej kodu
//jeżeli nie zrobiłeś w poście literówki, to przyczyna jest oczywista - dane podpinasz pod jList1, a wyświetlasz
jList

0

mysle ze to nie to bo wyswietlanie jest tez przez jList1 wklejam obie klasy tylko te fragmenty dotyczace listy lub vectora:

public class DesktopApplication2View extends FrameView {

private Vector<String> dane = new Vector<String>();
public DesktopApplication2View(SingleFrameApplication app) {
super(app);

    initComponents();

jPanel1.setVisible(false);

jList1.setListData(dane);

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
DodajForm okno =new DodajForm(dane);
okno.show();
}
}

oraz druga klasa

public class DodajForm extends javax.swing.JFrame {
Vector<String> dane = new Vector<String>();

public DodajForm(Vector<String> dane) {
    super();
    this.dane=dane;
    initComponents();

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
if (!jTextField1.getText().equals(""))
dane.add(jTextField1.getText());

}   

}

0

Używaj znaczników < code=java> < /code> (bez spacji).
Masz dwa pola

Vector<String> dane

w klasie DesktopApplication2View i w klasie DodajForm, do jednego z nich dopisujesz Stringi, a wyświetlasz drugie, które jest cały czas puste.

0

Poza tym powinieneś przerzucić się na nowszą strukturę kolekcji, wśród których pierwszą pozycją, która zastąpi starego badziewnego Vectora jest ArrayList. Vector ma tak dużo garbu projektowego z Java 1.0, że to jest naturalny kandydat na status "deprecated". Prawdopodobnie ucząc się korzystasz z jakiegoś bardzo starego podręcznika... W nowych (i to kilku) często występuje stwierdzenie, że o klasie Vector można już praktycznie zapomnieć (również z powodu obsługi wielowątkowości).

A co do błędów w kodzie - zawsze staraj się zmieniać nazwy zmiennym na własne, które obrazują do czego będą potrzebne. To bardzo pomaga w ogóle unikać błędów takich jak ten.

0

No ok moze macie racje. Ale ja wiem ze do wektora sie dodaje poprawnie i jest dobrze przekazany do
public class DesktopApplication2View bo gdy pobiore wartosc z tego wektora to mi pokazuje ja.Chodzi mi tylko jak ten wektor zaladowac do jList ? w ktorym miejscu mam dodac jList1.setListData(dane); bo gdy zrobie to jako osobne zdarzenie juz po wprowadzeniu danych np dodam na butona w tej glownej klasie i dla niego to wklepie ta linie to wsystko dziala

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