Añadir texto JTextField usando MVC

Сабля Quisiera Комо añadir ООН texto un JTextField usando modelo-vista-controlador (MVC). Танго En la ventana un JTextField creado de nombre elemDisponibles y el siguiente codigo:

public void setElemDisponibles(String s) {
    this.elemDisponibles.setText(s);
}

En el controlador pulsando un boton я консоль muestra el texto por:

protected void teclaPulsada() {
    modelo.mostrarPlacas();
}

Esto es una lista de objetos.

Танго En modelo:

public void mostrarPlacas();

El cual hace:

public void mostrarPlacas(){
    System.out.println("Placas disponibles en almacen: ");
    for(Producto p : map_catalogo.values()) {
      if( p instanceof Plaques) {
        System.out.println(p);
      }
    }
}

СИ lo cambio Строка никакой se продолжатель Комо..

Para que lo muestre en el jtextfield он probado poniendo:

protected void teclaTorrePulsada() {
    vista.setElemDisponibles(modelo.mostrarPlacas());
}

Entiendo que setElemDisponibles es String y mostrarProducto () es una lista de objetos por lo cual не es совместимый. Никакой se Комо cambiarlo параграф hacerlo funcionar correctamente.

1
задан 11.01.2017, 19:55
0 ответов

Я понимаю, что внутри твоего метода mostrarProductos() у тебя есть метод mostrarPlacas(). Твой метод mostrarPlacas() он был бы должен возвращать один Stringравно как твой метод mostrarProductos().

public String mostrarPlacas(){
    String placas = "";
    System.out.println("Placas disponibles en almacen: ");
    for(Producto p : map_catalogo.values()) {
      if( p instanceof Plaques) {
        placas += p + "\n";
      }
    }
   return placas;
}

В mostrarProductos():

public String mostrarProductos() {
   return mostrarPlacas();
}

Так это понял я, а ты мог бы помещать код mostrarProductos()

1
ответ дан 03.12.2019, 17:45
  • 1
    Гениальный ответ спасибо, единственная проблема состоит в том, что сейчас список плат выходит у меня последующим и не один под другим, как он мог бы изменять это? –  11.01.2017, 19:46
  • 2
    Añ adiendo "\n" detrá s объекта p. Уже я обновил мой ответ. –  11.01.2017, 19:49

Теги

Похожие вопросы