MVP i problem z JTable

0

Witam,
chciałem zrobić po Bożemu i skorzystałem z MVP4j (http://code.google.com/p/mvp4j). Teraz mam mały problemik, ponieważ chcę z bazy wrzucić dane do tabeli. Wszystko fajnie wrzucam, tylko że np. zamiast Stringów pokazuje mi się dziwne rzeczy (tak jakby listę wyświetlił coś a' la System.out.println(lista)). Zgaduje, że chyba trzeba stworzyć jakiś model do tej tabeli i pewnie wszystko będzie ok?

0

Moja szklana kula ostatnio zmętniała. Nie uważasz że warto byłoby pokazać:

  • jak pobierasz dane z bazy
  • jak wstawiasz je do tabeli
  • co się wyświetla
    ? Mam wrażenie że każdy człowiek na forum powinien mieć obowiązkowe szkolenie z serii "jak należy zgłaszać problemy".

It's pretty easy to remember the rule for a good bug report. Every good bug report needs exactly three things.
Steps to reproduce,
What you expected to see, and
What you saw instead.

więcej: http://www.joelonsoftware.com/articles/fog0000000029.html
Wydrukuj sobie na ścianie i czytaj zanim napiszesz posta.

0

Dobra sprawa wygląda tak. Tu jest mój widok:

@MVP(modelClass=ViewEmployeeModel.class, presenterClass=ViewEmployeePresenter.class)
public class ViewEmployeePanel extends JPanel {

	private static final long serialVersionUID = 1L;
	
	@Model(property="employee", initProperty="employees")
	private JTable tableEmployee;
	
	public ViewEmployeePanel(){
		initComponents();
	}
	
	public void initComponents(){
		add(new JLabel("Wszyscy pracownicy: "));
		
		add(getTableEmployee());
	}

	public JTable getTableEmployee() {
		if(tableEmployee==null){
			tableEmployee = new JTable();
			tableEmployee.setPreferredSize(new Dimension(500, 500));
			tableEmployee.setBounds(10, 30, 500, 500);
		}
		return tableEmployee;
	}
}

Tu jest ta lista ładowana do tabeli:

public class ViewEmployeeModel implements Serializable {

	private static final long serialVersionUID = 1L;
	private String employee;
	private List<String> employees;
	
	public String getEmployee() {
		return employee;
	}

	public List<String> getEmployees() {
		if(employees==null){
			this.employees = new ArrayList<String>();
			this.employees.add("afsd");
		}
		return employees;
	}	
}

I to co się wyświetla:
mvp.png

0
  1. Nigdy nie zakładaj defaultowej inicjalizacji nullami, a inicjalizację pól rób w konstruktorze a nie w metodzie z d**y
  2. Ty w ogóle przeczytałeś jak działa ten framework którego chcesz używać? Mam wrażenie że nie za bardzo, bo to się kupy nie trzyma.
    Uruchom sobie to pod debuggerem i zobacz co jest wywoływane, gdzie jest wywoływane i z jakimi obiektami pracujesz ;]

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