有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java验证进入JTable单元格的条目

我的JTable有一列输入产品的价格。我希望能够在单元格中输入数字。单元格只接受数字

我用keylistener做了一个方法,但没有得到结果

表中单元格的我的代码:

public class TextAreaEditor extends DefaultCellEditor {
   protected JScrollPane scrollpane;
   protected JTextArea textarea;

   public TextAreaEditor() {
      super(new JCheckBox());
      scrollpane = new JScrollPane();
      textarea = new JTextArea(); 
      textarea.setLineWrap(true);
      textarea.setWrapStyleWord(true);
     // textarea.setBorder(new TitledBorder("This is a JTextArea"));
      scrollpane.getViewport().add(textarea);
   }

   public Component getTableCellEditorComponent(JTable table, Object value,
                                   boolean isSelected, int row, int column) {
      textarea.setText((String) value);

      return scrollpane;
   }

   public Object getCellEditorValue() {
      return textarea.getText();
   }
}

public class TextAreaRenderer extends JScrollPane implements TableCellRenderer
{
   JTextArea textarea;

   public TextAreaRenderer() {
      textarea = new JTextArea();
      textarea.setLineWrap(true);
      textarea.setWrapStyleWord(true);
     // textarea.setBorder(new TitledBorder("This is a JTextArea"));
      getViewport().add(textarea);
   }

   public Component getTableCellRendererComponent(JTable table, Object value,
                                  boolean isSelected, boolean hasFocus,
                                  int row, int column)
   {
      if (isSelected) {
         setForeground(table.getSelectionForeground());
         setBackground(table.getSelectionBackground());
         textarea.setForeground(table.getSelectionForeground());
         textarea.setBackground(table.getSelectionBackground());
      } else {
         setForeground(table.getForeground());
         setBackground(table.getBackground());
         textarea.setForeground(table.getForeground());
         textarea.setBackground(table.getBackground());
      }

      textarea.setText((String) value);
      textarea.setCaretPosition(0);
      return this;
   }
}

欢迎提出任何建议


共 (0) 个答案