Você está aqui: Java ::: Classes e Componentes ::: JTable |
Como aceitar somente inteiros em determinadas células de uma JTableQuantidade de visualizações: 108 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 |