我有一个JTextPane作为MySQL的管理器,所以我使用它而不是那个丑陋的黑白控制台。但我想知道如何禁用'删除'用户按下' Enter'并移动到下一行。例如,如果我写:
创建新的数据库用户;
用户按Enter后我不希望他们删除“创建新数据库用户”这一行。
谢谢你们!
##########################编辑In file included from A.h:11:0,
A-inl.h:14:6: error: prototype for ‘void A<T1>::bar(T1, T2)’ does not match any in class ‘A<T1>’
void A<T1>::bar(T1 t, T2 t2)
^
In file included from main.cpp:3:0:
A.h:8:10: error: candidate is: template<class T1> template<class T2> void A<T1>::bar(T1, T2)
void bar(T1 t1, T2 t2);
所以我想要的是,在用户按下&#39;输入&#39;我验证前两行是我需要的,我执行MySQL上的更新,然后将他移动到JTextPane的下一行,但是,我不知道如何禁用删除按钮,以便如果他们想要在那一刻正确之前删除所有内容,他们就不能。那么,我必须使用的代码是什么?
答案 0 :(得分:0)
您可以添加DocumentFilter(请参阅the example)并覆盖方法
public void remove(FilterBypass fb, int offset, int length) throws
BadLocationException {
fb.remove(offset, length);
}
public void replace(FilterBypass fb, int offset, int length, String text,
AttributeSet attrs) throws BadLocationException {
fb.replace(offset, length, text, attrs);
}
在方法中,只需检查offset/length
是否在允许的范围内,并且不做任何事情来阻止删除或调用超级。