package es.uniovi.asw.trivial.ui; import java.awt.Color; import java.awt.Cursor; import java.awt.Dimension; import java.awt.Font; import java.awt.Toolkit; import javax.swing.JDialog; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.UIManager; import javax.swing.border.EmptyBorder; import javax.swing.table.DefaultTableModel; public class DialogoEstadisticas extends JDialog { private static final long serialVersionUID = 1L; private JPanel panelPrincipal; private JScrollPane scrollTabla; private JTable tablaEstadisticas; private ModeloNoEditable modeloTabla; // Declaramos el modelo para la tabla (antes DefaultTableModel) /* public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { DialogoEstadisticas dialog = new DialogoEstadisticas(); dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); dialog.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } */ /** * Create the dialog. */ public DialogoEstadisticas() { setResizable(false); setModalityType(ModalityType.APPLICATION_MODAL); setTitle("Estad\u00EDsticas de Jugadores"); setIconImage(Toolkit.getDefaultToolkit().getImage(DialogoEstadisticas.class.getResource("/img/ico_32x32_estadisticas.png"))); setBounds(100, 100, 483, 476); getContentPane().setLayout(null); getContentPane().add(getPanelPrincipal()); } private JPanel getPanelPrincipal() { if (panelPrincipal == null) { panelPrincipal = new JPanel(); panelPrincipal.setBounds(0, 0, 480, 443); panelPrincipal.setPreferredSize(new Dimension(480, 443)); panelPrincipal.setMinimumSize(new Dimension(480, 443)); panelPrincipal.setMaximumSize(new Dimension(480, 443)); panelPrincipal.setBackground(new Color(0, 55, 76)); panelPrincipal.setBorder(new EmptyBorder(5, 5, 5, 5)); panelPrincipal.setLayout(null); panelPrincipal.add(getScrollTabla()); } return panelPrincipal; } private JScrollPane getScrollTabla() { if (scrollTabla == null) { scrollTabla = new JScrollPane(); scrollTabla.setBorder(new EmptyBorder(0, 0, 0, 0)); scrollTabla.setBounds(25, 25, 432, 392); scrollTabla.setViewportView(getTablaEstadisticas()); } return scrollTabla; } private JTable getTablaEstadisticas() { if (tablaEstadisticas == null) { String[] nombreColumnas = {"Jugador", "Ganadas", "Perdidas", "Acertadas"}; //(2) Array con los nombres de las columnas modeloTabla = new ModeloNoEditable(nombreColumnas, 0); //(2) Creamos el modelo (modeloTabla), con 0 filas tablaEstadisticas = new JTable(new DefaultTableModel( new Object[][] { {null, null, null, null}, }, new String[] { "Jugador", "Ganadas", "Perdidas", "Acertadas" } ) { private static final long serialVersionUID = 1L; boolean[] columnEditables = new boolean[] { false, false, false, false }; public boolean isCellEditable(int row, int column) { return columnEditables[column]; } }); tablaEstadisticas.setRowSelectionAllowed(false); tablaEstadisticas.setSelectionBackground(UIManager.getColor("Button.darkShadow")); tablaEstadisticas.setRequestFocusEnabled(false); tablaEstadisticas.setSelectionForeground(new Color(255, 255, 255)); tablaEstadisticas.setFont(new Font("HelvNueDemi", Font.PLAIN, 13)); tablaEstadisticas.setFocusable(false); tablaEstadisticas.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); tablaEstadisticas.setBorder(new EmptyBorder(0, 5, 0, 0)); tablaEstadisticas.setCellSelectionEnabled(false); //tablaEstadisticas.setIntercellSpacing(new Dimension(10,0)); tablaEstadisticas.setRowHeight(20); //incrementa el alto de la fila tablaEstadisticas.getTableHeader().getColumnModel().getColumn(0).setPreferredWidth(200); //Modifica el ancho de la columna 1 tablaEstadisticas.getTableHeader().getColumnModel().getColumn(1).setPreferredWidth(70); //Modifica el ancho de la columna 2 tablaEstadisticas.getTableHeader().getColumnModel().getColumn(2).setPreferredWidth(70); //Modifica el ancho de la columna 3 tablaEstadisticas.getTableHeader().getColumnModel().getColumn(3).setPreferredWidth(70); //Modifica el ancho de la columna 4 tablaEstadisticas.getTableHeader().setReorderingAllowed(false); // Impedir que se entercambien entre s� // a�adirFilas(); //Pintar contenido en la tabla. } return tablaEstadisticas; } // private void a�adirFilas() { // Object[] nuevaFila = new Object[6]; // java.util.List<Jugador> jugadores = juego.getJugadores(); // for (Jugador j:jugadores) { // nuevaFila[0] = new Integer(j.getCampo1()); // nuevaFila[1] = new Integer(j.getCampo2()); // nuevaFila[2] = new Integer(j.getCampo3()); // nuevaFila[3] = new Integer(j.getCampo4()); // modeloTabla.addRow(nuevaFila); // } // } }