Você está aqui: Java ::: Classes e Componentes ::: JTable |
Como aceitar somente inteiros em determinadas células de uma JTableQuantidade de visualizações: 2 vezes |
import javax.swing.*;
import java.awt.*;
import javax.swing.table.*;
public class Estudos extends JFrame{
public Estudos(){
super("Exemplo de uma tabela simples");
final DefaultTableModel modelo = new
DefaultTableModel();
// constrói a tabela
JTable tabela = new JTable(modelo);
// Cria duas colunas
modelo.addColumn("Nome");
modelo.addColumn("Idade");
// adiciona duas linhas
modelo.addRow(new Object[]{"Osmar J. Silva", "32"});
modelo.addRow(new Object[]{"Fernando Gomes", "19"});
TableColumn col =
tabela.getColumnModel().getColumn(1);
col.setCellEditor(new MyTableCellEditor());
tabela.setPreferredScrollableViewportSize(new
Dimension(350, 50));
Container c = getContentPane();
c.setLayout(new FlowLayout());
JScrollPane scrollPane = new JScrollPane(tabela);
c.add(scrollPane);
setSize(400, 300);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class MyTableCellEditor extends AbstractCellEditor
implements TableCellEditor{
JComponent component = new JTextField();
public boolean stopCellEditing(){
String s = (String)getCellEditorValue();
boolean valido = true;
for(int i = 0; i < s.length(); i++){
Character caractere = s.charAt(i);
if(!Character.isDigit(caractere)){
valido = false;
break;
}
}
if(!valido){
JOptionPane.showMessageDialog(null,
"Valor inválido");
return false;
}
return super.stopCellEditing();
}
public Component getTableCellEditorComponent(
JTable table, Object value,
boolean isSelected, int rowIndex, int vColIndex){
if(isSelected){
//
}
((JTextField)component).setText((String)value);
return component;
}
public Object getCellEditorValue() {
return ((JTextField)component).getText();
}
}
|
|
|
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





