elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  [SOLUCIONADO]Cambiando Titulo en JTable
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [SOLUCIONADO]Cambiando Titulo en JTable  (Leído 8,239 veces)
W0lFy


Desconectado Desconectado

Mensajes: 551



Ver Perfil WWW
[SOLUCIONADO]Cambiando Titulo en JTable
« en: 23 Mayo 2010, 13:59 pm »

Buenas gente, tengo el siguiente Código:

Código
  1. import java.util.ArrayList;
  2. import java.util.List;
  3.  
  4. import javax.swing.JDesktopPane;
  5. import javax.swing.JFrame;
  6. import javax.swing.JInternalFrame;
  7. import javax.swing.JOptionPane;
  8. import javax.swing.JPanel;
  9. import net.sf.optexanalyzer.guitable.CompactTable;
  10. import net.sf.optexanalyzer.table.Table;
  11. import net.sf.optexanalyzer.table.Title;
  12.  
  13. import java.awt.event.MouseAdapter;
  14. import java.awt.event.MouseEvent;
  15. import java.lang.Object;
  16. import javax.swing.ImageIcon;
  17. import javax.swing.JLabel;
  18. import javax.swing.event.TableModelEvent;
  19. import javax.swing.event.TableModelListener;
  20. import javax.swing.table.AbstractTableModel;
  21.  
  22. public static void main(String[] args) {
  23.  
  24.  
  25.       JPanel panel;
  26.       Table table = new Table(4,3);
  27.  
  28.        table.initializePercentage();
  29.  
  30.  
  31.        List<Title> columnTitles = new ArrayList<Title>();
  32.        List<Title> rowTitles = new ArrayList<Title>();
  33.  
  34.  
  35.        Title tituloFil1 = new Title();
  36.        Title tituloFil2 = new Title();
  37.        Title tituloFil3 = new Title();
  38.        Title tituloFil4 = new Title();
  39.        Title tituloCol1 = new Title();
  40.        Title tituloCol2 = new Title();
  41.        Title tituloCol3 = new Title();
  42.        Title tituloCol4 = new Title();
  43.  
  44.        tituloFil1.setName("Algoritmo 1");
  45.        tituloFil2.setName("Algoritmo 2");
  46.        tituloFil3.setName("Algoritmo 3");
  47.        tituloFil4.setName("Algoritmo 4");
  48.        tituloCol1.setName("");
  49.        tituloCol2.setName("Best");
  50.        tituloCol3.setName("Score");
  51.        tituloCol4.setName("#Bot");
  52.  
  53.  
  54.        columnTitles.add(tituloCol1);
  55.        columnTitles.add(tituloCol2);
  56.        columnTitles.add(tituloCol3);
  57.        columnTitles.add(tituloCol4);
  58.        rowTitles.add(tituloFil1);
  59.        rowTitles.add(tituloFil2);
  60.        rowTitles.add(tituloFil3);
  61.        rowTitles.add(tituloFil4);
  62.  
  63.        table.setColumTitles(columnTitles);
  64.        table.setRowTitles(rowTitles);
  65.  
  66.        CompactTable compact = new CompactTable(table);
  67.        JFrame frame = new JFrame();
  68.  
  69.        panel = compact.getCompactTable();
  70.        panel.setVisible(true);
  71.  
  72.  
  73.        frame.getContentPane().add(panel);
  74.        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  75.        frame.pack();
  76.        frame.setVisible(true);
  77.        JFrame ventana = new JFrame();
  78.        JDesktopPane desktop = new JDesktopPane();
  79.        ventana.getContentPane().add(desktop);
  80.        JInternalFrame internal = new JInternalFrame();
  81.        desktop.add(internal);
  82.  
  83.  }

mi pregunta es:
quiero cambiar el titulo con esta instruccion:

Código
  1.       String entrada;
  2.        entrada=JOptionPane.showInputDialog(null, "Cambiar Titulo");
  3.        System.out.print(entrada);

pero, como pudeo hacer para que salte el evento al hacer doble click sobre la columna? Un saludo y gracias!


« Última modificación: 30 Julio 2010, 04:56 am por LEYER » En línea

K@NuT0
Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Cambiando Titulo en JTable
« Respuesta #1 en: 23 Mayo 2010, 20:22 pm »

Primero agrega un MouseListener al header de la tabla

Código
  1. table.getTableHeader().addMouseListener

Luego en el metodo auto generado mouseClicked haces lo siguiente:
Código
  1. @Override
  2. public void mouseClicked(MouseEvent e) {
  3. if(e.getClickCount()==2){
  4.  String entrada;
  5.  int column = table.columnAtPoint(e.getPoint());
  6.         if ((column > -1)){
  7.         try{
  8.         entrada=JOptionPane.showInputDialog(null, "Cambiar Titulo");
  9.         table.getColumn(table.getColumnName(column)).setHeaderValue(entrada);
  10.         table.updateUI();
  11.         }catch (Exception ex) {
  12.         }
  13.         }
  14.         }
  15. }

Y con eso ya cambiaría el titulo al hacer doble click.

Un Saludo.


En línea

W0lFy


Desconectado Desconectado

Mensajes: 551



Ver Perfil WWW
Re: Cambiando Titulo en JTable
« Respuesta #2 en: 26 Mayo 2010, 00:34 am »

Muchas gracias, me sirvio bastante. Un saludo
En línea

K@NuT0
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
quitar filas de un jtable(SOLUCIONADO)
Java
basickdagger 1 8,627 Último mensaje 27 Marzo 2011, 20:02 pm
por basickdagger
Titulo con variable php[SOLUCIONADO]
PHP
aldg 4 3,723 Último mensaje 30 Marzo 2011, 22:06 pm
por aldg
[solucionado]Ayuda a la hora de introducir datos en un jtable
Java
juni85 2 4,018 Último mensaje 28 Octubre 2011, 11:03 am
por juni85
{SOLUCIONADO} JTable me repite datos de un ResultSet {SOLUCIONADO}
Java
|Miguel| 4 6,252 Último mensaje 3 Marzo 2012, 19:26 pm
por Proteus1989
[solucionado] cambiando de windows 7 a backtack 5 « 1 2 »
GNU/Linux
xomby-kila 16 10,775 Último mensaje 10 Mayo 2012, 10:34 am
por Dark_Mike
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines