pessoal eu precisava tranformar as letras q eu digito em uma jTable em maiusculo e nao consigo!!!
c alguem souber me ajuda ai!!!
valeww…
pessoal eu precisava tranformar as letras q eu digito em uma jTable em maiusculo e nao consigo!!!
c alguem souber me ajuda ai!!!
valeww…
essa linha vai passar o conteúdo da variavel para letras maiusculas
essa linha vai passar o conteúdo da variavel para letras maiusculas
VC pode implementar seu propieo CEllEditor ai quando for editar vc cola o que thiagotrss sugeriu…
Ou caso queria que seja apenas exibição, poderia implementar um Render…
Aqui no GUJ tem um tutorial explicando bem direitonho isso, espero ter ajudado…
mas ho pessoal eu usei esse codigo fonte aki:
private void jTable2KeyReleased(java.awt.event.KeyEvent evt) {
int y = jTable2.getSelectedRow();
int a = jTable2.getSelectedColumn();
jTable2.setValueAt(jTable2.getValueAt(y, a).toString().toUpperCase(),y,a);
}
ele deixa maiusculo mas acontece q na hora q eu to digitando ele nao transforma em maiusculo mas c eu der tab ate passar la pela segunda vez ai fica maiusculo, parece q o campo da jTable nao reconhece nada dentro do campo antes de dar um enter ou um tab
por favor c alguem souber qual o problema me ajuda ai!!!
package gui;
import java.awt.Component;
import javax.swing.AbstractCellEditor;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.TableCellEditor;
/**
*
* @author Ricardo Job
*/
public class TabelaMaiuscula extends javax.swing.JFrame {
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
public TabelaMaiuscula() {
initComponents();
initConfig();
}
private void initConfig() {
jTable1.getColumnModel().getColumn(0).setCellEditor(new FormaterEditor());
}
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"MAIUSCULO", "Normal", "Normal", "Normal"
}
));
jScrollPane1.setViewportView(jTable1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 167, Short.MAX_VALUE)
.addContainerGap())
);
pack();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new TabelaMaiuscula().setVisible(true);
}
});
}
}
class FormaterEditor extends AbstractCellEditor implements TableCellEditor {
final JTextField campo = new JTextField();
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
String valor = (String) value;
if (valor != null) {
campo.setText(valor.toUpperCase());
} else {
campo.setText("");
}
return campo;
}
public Object getCellEditorValue() {
return campo.getText().toUpperCase();
}
}
Mas ainda aconselho manipula seu Proprio MODEL fica mais enxuto seu codigo GUI e melhor distribuido as responsabilidades..