Estoy creando una aplicación para una instalación de facturación. Quiero que la columna de cantidad se muestre con la alineación correcta. ¿Cómo configuro la alineación correcta para una columna JTable?Establecer alineación a la derecha en JTable Columna
Respuesta
Consulte Concepts: Editors and Renderers, señalando "Number
- dictada por una etiqueta alineada a la derecha". Simplemente haga que su TableModel
devuelva la clase correcta. Como un ejemplo concreto, tenga en cuenta que Integer
es un Number
, al examinar la implementación de getColumnClass()
en este example.
Deberá obtener DefaultTableCellRenderer para celdas de tabla y llamar a setHorizontalAlignment (alineación).
ejemplo se puede encontrar en los enlaces:
http://www.techrepublic.com/article/how-to-justify-data-in-a-jtable-cell/5032692/
http://www.coderanch.com/t/337549/GUI/java/align-data-columns-JTable
+1 Estoy un poco receloso de los artículos que escriben mal 'JTable', pero la barra lateral muestra un ejemplo completo. :-) – trashgod
class RightTableCellRenderer extends DefaultTableCellRenderer { protected RightTableCellRenderer() { setHorizontalAlignment (JLabel.RIGHT); } agrego este código, después de eso ¿cómo puedo configurar el renderizador en mi columna jtable. } – Arivu2020
Prueba esto:
JTable tbl = new JTable(3,3) {
DefaultTableCellRenderer renderRight = new DefaultTableCellRenderer();
{ // initializer block
renderRight.setHorizontalAlignment(SwingConstants.RIGHT);
}
@Override
public TableCellRenderer getCellRenderer (int arg0, int arg1) {
return renderRight;
}
};
No había pensado en utilizar un bloque de inicializador en clases anónimas. Resuelve la falta de constructor, muy bien. – PeterVermont
-1 para cortocircuitar todo el soporte para la configuración del renderizador de grano fino de la tabla (devolviendo uno-para-todo) También no hay necesidad de subclases, en su lugar use api de tabla/columna para instalar el renderizador personalizado según sea necesario – kleopatra
DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer();
rightRenderer.setHorizontalAlignment(JLabel.RIGHT);
table.getColumnModel().getColumn(4).setCellRenderer(rightRenderer);
+1 para una respuesta correcta, simplemente: a) * NO GRITAR * b) aprenda convenciones de nomenclatura java y cúmplalas (puede editar su respuesta y corregir ambas) – kleopatra
La encontré funcionando pero solo parcialmente. 1) Si configura primero el renderizador de columna y luego el modelo, el modelo invalidará el renderizador ya establecido, lo hará 'nulo'. 2) Estoy usando Nimbus L y F, y el renderizador recientemente establecido cambia el color de fondo para que sea inconsistente con otras celdas. Puedo abrir una pregunta sobre este tema. – FaithReaper
- 1. Firemonkey Grid Control - Alineación de una columna a la derecha
- 2. Java JTable establecer el ancho de columna
- 3. Cómo justificar a la izquierda o a la derecha un encabezado de columna en una JTable
- 4. Enlace de alineación a la derecha
- 5. Texto de alineación a la derecha en Android TextView
- 6. números de alineación/almohadilla derecha en bash
- 7. texto de alineación derecha en Emacs
- 8. Etiqueta de alineación izquierda - Seleccionar elemento de alineación a la derecha (CSS)
- 9. CSS - Alineación izquierda y derecha en la misma línea
- 10. Android izquierda, centro y alineación derecha
- 11. Android Layout alineación izquierda y derecha en el diseño horizontal
- 12. alineación de texto de UILabel derecha
- 13. Filtro JTable solo una columna
- 14. Auto/mejor ajuste columnas JTable, pero estirar la última columna
- 15. columna de la tabla HTML alinear a la derecha
- 16. ¿Cómo establecer la alineación para funciones virtuales?
- 17. Evento de columna movida [finalizada] en JTable
- 18. Configuración de encabezados de columna en JTable
- 19. Alineación a la derecha y a la izquierda con diseño lineal o relativo con texto truncado?
- 20. ¿Hay alguna forma de establecer la alineación de texto de una columna completa en una tabla?
- 21. ¿Cómo establecer la alineación de texto en una columna de QTableView mediante programación?
- 22. .NET GridView: ¿Puedes alinear a la derecha una sola columna?
- 23. calculando automáticamente el ancho de la columna en JTable
- 24. ¿Puedo hacer una columna JTable sin bordes?
- 25. Combobox justificado a la derecha en C#
- 26. Cómo crear una hoja de Excel con alineación de derecha a izquierda usando JXL
- 27. Java JTable - Hacer solo una columna editable
- 28. JTable de encabezado de columna no visible
- 29. Establecer todas las celdas JTable no seleccionables
- 30. Jquery JQGrid: cómo establecer la alineación de las celdas de encabezado de la grilla?
¿Ha intentado siquiera esto? esto no funciona Incluso si lo hiciera, todavía no me gustaría este enfoque solo porque estás tratando de engañar a la clase para que crea que estás usando cierto tipo de objeto, lo que puede tener otras consecuencias que van más allá de alinear el texto. – searchengine27
@ searchengine27: Gracias por comentar; He arreglado el enlace para señalar un ejemplo más representativo. No es un truco; es un [tipo de token] (http://stackoverflow.com/a/13673688/230513). – trashgod