我的JTable有一个密码字段编辑器。如果用户单击以编辑另一个字段时文本长度小于8位,我想显示一条错误消息。我已经尝试过焦点监听器。但是它不起作用。请帮助我,因为我刚刚开始使用Java
swing。
class PasswordEditor extends DefaultCellEditor
{
TextBox m_passWord = new TextBox();
public PasswordEditor() {
super(new TextBox());
}
@Override
public Object getCellEditorValue() {
return this.m_passWord.getText();
}
@Override
public Component getTableCellEditorComponent(JTable table,
Object value, boolean isSelected, int row, int column) {
Object fieldValue = value;
if(null == fieldValue)
fieldValue = Constants.EMPTY_STRING;
this.m_passWord.addInputMethodListener(new InputMethodListener() {
@Override
public void inputMethodTextChanged(InputMethodEvent event)
{
// TODO Auto-generated method stub
}
@Override
public void caretPositionChanged(InputMethodEvent event)
{
// TODO Auto-generated method stub
}
})
this.m_passWord.addFocusListener(new FocusListener() {
@Override
public void focusLost(FocusEvent e)
{
if (!e.isTemporary()) {
String content = PasswordEditor.this.m_passWord.getText();
System.out.println((content));
}
}
@Override
public void focusGained(FocusEvent e)
{
//TODO init
}
});
this.m_passWord.setEditable(true);
this.m_passWord.setText(fieldValue.toString());
return this.m_passWord;
}
}
覆盖stopCellEditing()并在其中实现条件。
class PasswordEditor extends DefaultCellEditor
{
TextBox m_passWord = new TextBox();
public PasswordEditor() {
super(new TextBox());
}
@Override
public boolean stopCellEditing()
{
if(getCellEditorValue().toString().length() < 8)
{
JOptionPane.showMessageDialog(UsmUserView.this.m_Parent, "Password Must Be 8 Bytes Long !! Please Check");
return false;
}
fireEditingStopped();
return true;
}
@Override
public Object getCellEditorValue() {
return this.m_passWord.getText();
}
@Override
public Component getTableCellEditorComponent(JTable table,
Object value, boolean isSelected, int row, int column) {
Object fieldValue = value;
if(null == fieldValue)
fieldValue = Constants.EMPTY_STRING;
this.m_passWord.setEditable(true);
this.m_passWord.setText(fieldValue.toString());
return this.m_passWord;
}
}
我使用进行单元格编辑,并在Editable=true的上使用验证器。如果选择的P:SelectoneMenu值或键入的值无效,我希望单元格编辑状态保持在编辑模式(第二个屏幕截图),并像使用常规表单(第三个屏幕截图)一样在输入周围显示红色框。当验证失败时,会显示咆哮和消息,但下拉框周围的红色框不会持续存在,我担心用户可能不会注意到(第一张屏幕截图)。我不知道如何进行ajax更新来显示红色框,但保持单
问题内容: 我正在尝试用Java编写程序来管理我的Bookie帐户。我是java的新手,所以我认为我会选择一些简单的方法来了解事情的原理。我决定使用表格视图并使各个单元格可编辑。我一直在关注本教程http://java- buddy.blogspot.co.uk/2012/04/javafx-2-editable-tableview.html 。它详细说明了如何使用Java代码执行此操作,并将其复
问题内容: 我想将jFileChooser设置为表的单个单元格的编辑器(不使用该表的整个列,因为将使用诸如comboBox等各种其他编辑器)。有什么建议或示例代码吗?(我已经在这里研究了这些样本,如何使用Oracle的表 问题答案: 该教程的做法是正确的。请参见此示例,该示例使用未经修饰的方法来调用实际的编辑器。取而代之的是,您将使用。 附录:要应用编辑器中的任何单元格单独,覆盖了所需的行和列
本文向大家介绍JavaScript使用表单元素验证表单的示例代码,包括了JavaScript使用表单元素验证表单的示例代码的使用技巧和注意事项,需要的朋友参考一下 JavaScript的主要作用:验证表单 1最简单的表单验证-禁止空白的必填项目 1.1最简单的HTML结构 网站最基础的就是注册,它是一个系统的交互基础. 例子: 1.2绑定验证功能 因为用户最后要去点击"注册"按钮,所以我们就在"注
现在,我正在用Spring MVC开发一个web应用程序。 样品值可以是“0.05”、“1.00”、“12.55”等。 因此,如果有任何办法来解决这个问题,请点亮我。谢了。
问题内容: 我有一个带有自定义TreeModel和自定义TreeRenderer的JTree。树模型包含一堆不同类型的对象。这些类型之一的显示方式与其他类型不同:显示的文本是对象的两个字段的串联。当我编辑单元格时,我想用编辑后的文本更新这些字段之一。到目前为止,我的工作情况还不错。 我的问题:当您在编辑时显示的文本是2个字段的完整串联值时,即使您实际上只是在编辑其中一个字段,也令人困惑。因此,当用