diff --git a/.gitignore b/.gitignore index b2c03ce..606ab3b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,7 @@ out lib .idea -dist/local-release/data -dist/local-release/logs -dist/local-release/informes -dist/mackena-release -dist/rodriguez-release +dist/data +dist/logs +dist/informes diff --git a/database/sqlite.sql b/database/sqlite.sql index 50f6ec1..0fcb69e 100644 --- a/database/sqlite.sql +++ b/database/sqlite.sql @@ -167,3 +167,7 @@ create table estado_resultado ppm real null, ivaFavor int null ); + +-- Sexta migracion, se necesita guardar el fondo diario de una caja asi que se le agrega a la tabla de caja +alter table caja +add column fondo integer default 0; diff --git a/dist/local-release/Programa Caja.jar b/dist/Programa Caja.jar similarity index 97% rename from dist/local-release/Programa Caja.jar rename to dist/Programa Caja.jar index 0e13b86..fa7a5e0 100644 Binary files a/dist/local-release/Programa Caja.jar and b/dist/Programa Caja.jar differ diff --git a/dist/local-release/config/app.properties b/dist/config/app.properties similarity index 100% rename from dist/local-release/config/app.properties rename to dist/config/app.properties diff --git a/dist/local-release/config/logging.properties b/dist/config/logging.properties similarity index 100% rename from dist/local-release/config/logging.properties rename to dist/config/logging.properties diff --git a/src/danielcortes/xyz/controllers/ArqueoController.java b/src/danielcortes/xyz/controllers/ArqueoController.java index a28a1f9..6f2b932 100644 --- a/src/danielcortes/xyz/controllers/ArqueoController.java +++ b/src/danielcortes/xyz/controllers/ArqueoController.java @@ -34,7 +34,6 @@ import danielcortes.xyz.views.components.NumberFormatedTextField; import javax.swing.*; import java.awt.*; -import java.awt.event.ActionEvent; /** * Controlador destinado a la vista ArqueoView @@ -203,7 +202,9 @@ public class ArqueoController extends BaseController{ * Lanza la ventana en la que se puede calcular el fondo de la caja. */ private void calcularFondoActionListener() { - new CalcularFondoController(this.view.getContentPanel(), new CalcularFondoView(), this.caja); + CalcularFondoView view = new CalcularFondoView(); + CalcularFondoController controller = new CalcularFondoController(view, this.caja); + launchFrame(view.getContentPanel(), "Calcular Fondo"); } /** @@ -254,18 +255,4 @@ public class ArqueoController extends BaseController{ this.updateResumenArqueo(); } - private class GuardarEfectivoAction extends AbstractAction { - @Override - public void actionPerformed(ActionEvent e) { - ArqueoController.this.guardarEfectivoActionListener(); - } - } - - private class GuardarDocumentosAction extends AbstractAction { - @Override - public void actionPerformed(ActionEvent e) { - ArqueoController.this.guardarDocumentosActionListener(); - } - } - } diff --git a/src/danielcortes/xyz/controllers/BaseController.java b/src/danielcortes/xyz/controllers/BaseController.java index 64a4ca2..6fb587a 100644 --- a/src/danielcortes/xyz/controllers/BaseController.java +++ b/src/danielcortes/xyz/controllers/BaseController.java @@ -20,7 +20,17 @@ class BaseController { target.getActionMap().put(name, action); } - private void launchFrame(JComponent view, String title, Dimension d){ + static void launchFrame(JComponent view, String title) { + JFrame frame = new JFrame(title + ": " + Configuration.get("nombre_caja")); + frame.setContentPane(view); + frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + + frame.pack(); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + } + + static void launchFrame(JComponent view, String title, Dimension d){ JFrame frame = new JFrame(title + ": " + Configuration.get("nombre_caja")); frame.setContentPane(view); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); diff --git a/src/danielcortes/xyz/controllers/CalcularFondoController.java b/src/danielcortes/xyz/controllers/CalcularFondoController.java index 36e2e35..e0ef822 100644 --- a/src/danielcortes/xyz/controllers/CalcularFondoController.java +++ b/src/danielcortes/xyz/controllers/CalcularFondoController.java @@ -1,6 +1,5 @@ package danielcortes.xyz.controllers; -import danielcortes.xyz.data.Configuration; import danielcortes.xyz.data.DAOManager; import danielcortes.xyz.models.caja.Caja; import danielcortes.xyz.models.calculo_fondo.CalculoFondo; @@ -8,12 +7,10 @@ import danielcortes.xyz.views.CalcularFondoView; import danielcortes.xyz.views.components.table_model.FondoTableModel; import javax.swing.*; -import java.awt.event.ActionEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; public class CalcularFondoController extends BaseController{ - private JComponent parent; private CalcularFondoView view; private Caja caja; @@ -21,25 +18,15 @@ public class CalcularFondoController extends BaseController{ private boolean editing; private CalculoFondo editingCalculoFondo; - public CalcularFondoController(JComponent parent, CalcularFondoView view, Caja caja) { + public CalcularFondoController(CalcularFondoView view, Caja caja) { this.view = view; - this.parent = parent; this.caja = caja; this.fillTable(); + this.fillResumen(); this.updateResumen(); this.setupViewEvents(); this.updateButtonsEnabled(); - this.showView(); - } - - private void showView() { - JFrame frame = new JFrame("Calculo de Fondo: " + Configuration.get("nombre_caja")); - frame.setContentPane(view.getContentPanel()); - frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); - frame.pack(); - frame.setLocationRelativeTo(this.parent); - frame.setVisible(true); } private void fillTable() { @@ -50,6 +37,20 @@ public class CalcularFondoController extends BaseController{ } } + private void fillResumen() { + this.view.getFondoField().setValue(this.caja.getFondo()); + } + + private void updateResumen() { + this.caja.setFondo(this.view.getFondoField().getValue()); + int suma = DAOManager.getCalculoFondoDAO().getTotalCalculoFondo(this.caja); + + this.view.getSumaField().setValue(suma); + this.view.getDepositoField().setValue(suma - this.caja.getFondo()); + + DAOManager.getCajaDAO().updateCaja(this.caja); + } + private void setupViewEvents() { moveTo(this.view.getValorField(), this.view.getDescripcionField()); doAction(this.view.getDescripcionField(), "save", KeyStroke.getKeyStroke("ENTER"), e -> this.guardarActionListener()); @@ -142,12 +143,6 @@ public class CalcularFondoController extends BaseController{ } } - private void updateResumen() { - int fondo = this.view.getFondoField().getValue(); - int suma = DAOManager.getCalculoFondoDAO().getTotalCalculoFondo(this.caja); - this.view.getSumaField().setValue(suma); - this.view.getDepositoField().setValue(suma - fondo); - } private void cleanInput() { this.view.getValorField().setValue(0); @@ -166,11 +161,4 @@ public class CalcularFondoController extends BaseController{ private void resetFocus() { this.view.getValorField().requestFocus(); } - - private class UpdateResumenAction extends AbstractAction { - @Override - public void actionPerformed(ActionEvent e) { - CalcularFondoController.this.updateResumen(); - } - } } diff --git a/src/danielcortes/xyz/controllers/EstadoResultadoController.java b/src/danielcortes/xyz/controllers/EstadoResultadoController.java index 239006f..4414e01 100644 --- a/src/danielcortes/xyz/controllers/EstadoResultadoController.java +++ b/src/danielcortes/xyz/controllers/EstadoResultadoController.java @@ -148,7 +148,7 @@ public class EstadoResultadoController extends BaseController{ private void fillGastosOperacionales() { TipoEgreso tipoPagoPartime = DAOManager.getTipoEgresoDAO().findByNombre("Pago Partime").get(0); - int costosVenta = this.estadoResultado.getCostoVenta(); + int costoVenta = this.estadoResultado.getCostoVenta(); int remuneraciones = this.estadoResultado.getRemuneraciones(); int finiquitos = this.estadoResultado.getFiniquitos(); int aguinaldo = this.estadoResultado.getAguinaldo(); @@ -156,11 +156,14 @@ public class EstadoResultadoController extends BaseController{ int honorariosContador = this.estadoResultado.getHonorariosContador(); int arriendo = this.estadoResultado.getArriendo(); int partime = DAOManager.getEgresoDAO().getTotalEgresoMesPorTipo(this.mes, tipoPagoPartime); + int ventaBruta = DAOManager.getIngresoDAO().getTotalIngresoMes(this.mes); - int total = costosVenta + remuneraciones + finiquitos + aguinaldo + bonosPersonal + int total = costoVenta + remuneraciones + finiquitos + aguinaldo + bonosPersonal + honorariosContador + arriendo + partime; + double porcentajeCostoVenta = (double) costoVenta / (double)ventaBruta * 100d; - this.view.getGastosOperacionalesCostoVenta().setValue(costosVenta); + this.view.getGastosOperacionalesCostoVenta().setValue(costoVenta); + this.view.getGastosOperacionesPorcentajeCostoVenta().setValue(porcentajeCostoVenta); this.view.getGastosOperacionalesRemuneraciones().setValue(remuneraciones); this.view.getGastosOperacionalesFiniquitos().setValue(finiquitos); this.view.getGastosOperacionalesAguinaldo().setValue(aguinaldo); @@ -269,6 +272,8 @@ public class EstadoResultadoController extends BaseController{ int honorarios = this.view.getGastosOperacionalesHonorariosContador().getValue(); int arriendo = this.view.getGastosOperacionalesArriendo().getValue(); + int ventaBruta = DAOManager.getIngresoDAO().getTotalIngresoMes(this.mes); + this.estadoResultado.setCostoVenta(costoVenta); this.estadoResultado.setRemuneraciones(remuneraciones); this.estadoResultado.setFiniquitos(finiquitos); @@ -280,8 +285,10 @@ public class EstadoResultadoController extends BaseController{ int total = oldTotal - (oldCostoVenta + oldRemuneraciones + oldFiniquitos + oldAguinaldo + oldBonos + oldHonorarios + oldArriendo) + (costoVenta + remuneraciones + finiquitos + aguinaldo + bonos + honorarios + arriendo); + double porcentajeCostoVenta = (double) costoVenta / (double)ventaBruta * 100d; this.view.getGastosOperacionalesTotal().setValue(total); + this.view.getGastosOperacionesPorcentajeCostoVenta().setValue(porcentajeCostoVenta); this.updateResumen(); } diff --git a/src/danielcortes/xyz/models/caja/Caja.java b/src/danielcortes/xyz/models/caja/Caja.java index ff519dd..f430862 100644 --- a/src/danielcortes/xyz/models/caja/Caja.java +++ b/src/danielcortes/xyz/models/caja/Caja.java @@ -29,6 +29,7 @@ import java.time.LocalDate; public class Caja { private int id; private LocalDate fecha; + private int fondo; public int getId() { return id; @@ -46,6 +47,14 @@ public class Caja { this.fecha = fecha; } + public int getFondo() { + return fondo; + } + + public void setFondo(int fondo) { + this.fondo = fondo; + } + @Override public String toString() { return "Caja{" + diff --git a/src/danielcortes/xyz/models/caja/CajaDAO.java b/src/danielcortes/xyz/models/caja/CajaDAO.java index ddc519b..bf2ff99 100644 --- a/src/danielcortes/xyz/models/caja/CajaDAO.java +++ b/src/danielcortes/xyz/models/caja/CajaDAO.java @@ -57,6 +57,7 @@ public abstract class CajaDAO { Caja caja = new Caja(); caja.setId(rs.getInt("id")); caja.setFecha(LocalDate.parse(rs.getString("fecha"))); + caja.setFondo(rs.getInt("fondo")); cajaList.add(caja); LOGGER.log(Level.FINER, "Se a creo: {0}", caja); diff --git a/src/danielcortes/xyz/models/caja/SQLiteCajaDAO.java b/src/danielcortes/xyz/models/caja/SQLiteCajaDAO.java index 571eeaa..b5e20bd 100644 --- a/src/danielcortes/xyz/models/caja/SQLiteCajaDAO.java +++ b/src/danielcortes/xyz/models/caja/SQLiteCajaDAO.java @@ -121,16 +121,16 @@ public class SQLiteCajaDAO extends CajaDAO { public boolean insertCaja(Caja caja) { int updates; try (Connection conn = connectionHolder.getConnection()) { - String query = "insert into caja (fecha) values (?)"; + String query = "insert into caja (fecha, fondo) values (?, ?)"; PreparedStatement ps = conn.prepareStatement(query); ps.setString(1, caja.getFecha().toString()); + ps.setInt(2, caja.getFondo()); updates = ps.executeUpdate(); - LOGGER.log(Level.FINE, "QUERY: {0} | values: {1} | updates: {2}", new Object[]{query, caja.getFecha(), updates}); + LOGGER.log(Level.FINE, "QUERY: {0} | values: {1}, {2} | updates: {3}", new Object[]{query, caja.getFecha(), caja.getFondo(), updates}); ps.close(); - query = "select last_insert_rowid()"; ps = conn.prepareStatement("select last_insert_rowid()"); ResultSet rs = ps.executeQuery(); @@ -153,13 +153,14 @@ public class SQLiteCajaDAO extends CajaDAO { public boolean updateCaja(Caja caja) { int updates; try (Connection conn = connectionHolder.getConnection()) { - String query = "update caja set fecha = ? where id = ?"; + String query = "update caja set fecha = ?, fondo = ? where id = ?"; PreparedStatement ps = conn.prepareStatement(query); ps.setString(1, caja.getFecha().toString()); - ps.setInt(2, caja.getId()); + ps.setInt(2, caja.getFondo()); + ps.setInt(3, caja.getId()); updates = ps.executeUpdate(); - LOGGER.log(Level.FINE, "QUERY: {0} | values: [{1},{2} | updates: {3}]", new Object[]{query, caja.getFecha(), caja.getId(), updates}); + LOGGER.log(Level.FINE, "QUERY: {0} | values: {1}, {2}, {3} | updates: {4}", new Object[]{query, caja.getFecha(), caja.getFondo(), caja.getId(), updates}); ps.close(); diff --git a/src/danielcortes/xyz/views/EstadoResultadoView.form b/src/danielcortes/xyz/views/EstadoResultadoView.form index fc26c02..4d46a6f 100644 --- a/src/danielcortes/xyz/views/EstadoResultadoView.form +++ b/src/danielcortes/xyz/views/EstadoResultadoView.form @@ -3,7 +3,7 @@ - + @@ -329,7 +329,7 @@ - + @@ -411,7 +411,7 @@ - + @@ -419,7 +419,7 @@ - + @@ -427,7 +427,7 @@ - + @@ -435,7 +435,7 @@ - + @@ -445,7 +445,7 @@ - + @@ -453,7 +453,7 @@ - + @@ -461,7 +461,7 @@ - + @@ -477,7 +477,7 @@ - + @@ -490,6 +490,15 @@ + + + + + + + + + diff --git a/src/danielcortes/xyz/views/EstadoResultadoView.java b/src/danielcortes/xyz/views/EstadoResultadoView.java index edb2ea4..ba9472a 100644 --- a/src/danielcortes/xyz/views/EstadoResultadoView.java +++ b/src/danielcortes/xyz/views/EstadoResultadoView.java @@ -54,6 +54,7 @@ public class EstadoResultadoView { private DoubleFormatedTextField resumenPPM; private JButton guardarButton; private JButton exportarButton; + private DoubleFormatedTextField gastosOperacionesPorcentajeCostoVenta; private ArrayList months; @@ -137,6 +138,10 @@ public class EstadoResultadoView { return gastosOperacionalesTotal; } + public DoubleFormatedTextField getGastosOperacionesPorcentajeCostoVenta() { + return gastosOperacionesPorcentajeCostoVenta; + } + public NumberFormatedTextField getServiciosAgua() { return serviciosAgua; } @@ -346,7 +351,7 @@ public class EstadoResultadoView { exportarButton.setText("Exportar"); panel3.add(exportarButton, new GridConstraints(0, 5, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); final JPanel panel4 = new JPanel(); - panel4.setLayout(new GridLayoutManager(10, 2, new Insets(10, 10, 10, 10), -1, -1)); + panel4.setLayout(new GridLayoutManager(10, 3, new Insets(10, 10, 10, 10), -1, -1)); contentPanel.add(panel4, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); panel4.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Gastos Operacionales")); final JLabel label15 = new JLabel(); @@ -376,28 +381,32 @@ public class EstadoResultadoView { gastosOperacionalesCostoVenta = new NumberFormatedTextField(); panel4.add(gastosOperacionalesCostoVenta, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); gastosOperacionalesRemuneraciones = new NumberFormatedTextField(); - panel4.add(gastosOperacionalesRemuneraciones, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + panel4.add(gastosOperacionalesRemuneraciones, new GridConstraints(1, 1, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); gastosOperacionalesFiniquitos = new NumberFormatedTextField(); - panel4.add(gastosOperacionalesFiniquitos, new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + panel4.add(gastosOperacionalesFiniquitos, new GridConstraints(2, 1, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); gastosOperacionalesAguinaldo = new NumberFormatedTextField(); - panel4.add(gastosOperacionalesAguinaldo, new GridConstraints(3, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + panel4.add(gastosOperacionalesAguinaldo, new GridConstraints(3, 1, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); gastosOperacionalesPartime = new NumberFormatedTextField(); gastosOperacionalesPartime.setEditable(false); - panel4.add(gastosOperacionalesPartime, new GridConstraints(4, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + panel4.add(gastosOperacionalesPartime, new GridConstraints(4, 1, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); gastosOperacionalesBonos = new NumberFormatedTextField(); - panel4.add(gastosOperacionalesBonos, new GridConstraints(5, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + panel4.add(gastosOperacionalesBonos, new GridConstraints(5, 1, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); gastosOperacionalesHonorariosContador = new NumberFormatedTextField(); - panel4.add(gastosOperacionalesHonorariosContador, new GridConstraints(6, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + panel4.add(gastosOperacionalesHonorariosContador, new GridConstraints(6, 1, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); gastosOperacionalesArriendo = new NumberFormatedTextField(); - panel4.add(gastosOperacionalesArriendo, new GridConstraints(7, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + panel4.add(gastosOperacionalesArriendo, new GridConstraints(7, 1, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); final JLabel label23 = new JLabel(); label23.setText("Total:"); panel4.add(label23, new GridConstraints(9, 0, 1, 1, GridConstraints.ANCHOR_EAST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); gastosOperacionalesTotal = new NumberFormatedTextField(); gastosOperacionalesTotal.setEditable(false); - panel4.add(gastosOperacionalesTotal, new GridConstraints(9, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + panel4.add(gastosOperacionalesTotal, new GridConstraints(9, 1, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); final Spacer spacer4 = new Spacer(); panel4.add(spacer4, new GridConstraints(8, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false)); + gastosOperacionesPorcentajeCostoVenta = new DoubleFormatedTextField(); + gastosOperacionesPorcentajeCostoVenta.setColumns(6); + gastosOperacionesPorcentajeCostoVenta.setEditable(false); + panel4.add(gastosOperacionesPorcentajeCostoVenta, new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_EAST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); final JPanel panel5 = new JPanel(); panel5.setLayout(new GridLayoutManager(7, 2, new Insets(10, 10, 10, 10), -1, -1)); contentPanel.add(panel5, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));