Ya te entendí, la tabla está en una GUI y Carrito solo debe guardar datos en esa tabla. No es necesario el patrón Singleton, nada más tienes que pasarle la referencia de la clase InterfazPrincipal a la clase Carrito que guardará la referencia en un objeto InterfazPrincipal. Recuerda que en Java el paso de parámetros es por referencia, así que cualquier cambio que se haga en la referencia, se guardará.
O puedes hacer uso de reflection:
Código (=java) [Seleccionar]
public class Carrito {
InterfazPrincipal gui;
public Carrito (InterfazPrincipal gui) {
this.gui = gui;
}
public void agregar(String nombre , String precio){
Object[] fila = new Object{"#", nombre , precio}; // importante, siempre debes introducir una fila Object
DefaultTableModel modelo = (DefaultTableModel)gui.getModeloTablaCarrito();
modelo.addRow(fila);
}
}
Código (=java) [Seleccionar]
public class InterfazPrincipal extends JFrame {
// le pasamos la referencia de la clase a la clase Carrito
final Carrito CARRITO_DRIVER = new Carrito(this);
// otras cosas
}
O puedes hacer uso de reflection:
Código (=java) [Seleccionar]
public class Carrito {
InterfazPrincipal gui = Class.forName("paquete.Clase").getInstance();
public Carrito () {
}
public void agregar(String nombre , String precio){
Object[] fila = new Object{"#", nombre , precio};
DefaultTableModel modelo = (DefaultTableModel)gui.getModeloTablaCarrito();
modelo.addRow(fila);
}
}