我想创建JTextField,其输入字符仅限于"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZZ0123456789 +# /%?= ~_- |!:,.;" 所以我试着压倒一切
public class CustomJTextField extends JTextField {
String goodchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZZ0123456789+&@#/%?=~_-|!:,.;";
//... my class body ...//
@Override
public void processKeyEvent(KeyEvent ev) {
if(c != '\b' && goodchars.indexOf(c) == -1 ) {
ev.consume();
return;
}
else
super.processKeyEvent(ev);}}
Run Code Online (Sandbox Code Playgroud)
但它不是我想要的,因为用户不能再按ctrl-c ctrl -v ctrl-x ...所以我加入了
&& ev.getKeyCode() != 17 && ev.getKeyCode() !=67 && ev.getKeyCode() != 86 && ev.getKeyCode() !=0 &&
Run Code Online (Sandbox Code Playgroud)
到if条件,但现在用户可以粘贴不适当的输入,即'('或'<',没有任何问题......我该怎么办?
我需要将 ZBar 库用于我自己的 C++ 程序,但我什至无法编译示例。看起来编译器找不到目标文件或类似的东西,我收到诸如“对`_zbar_get_error_code'的未定义引用”之类的错误。
我从他们的维基复制了以下来源:
#include <iostream>
#include <zbar.h>
using namespace std;
using namespace zbar;
class MyHandler : public Image::Handler
{
void image_callback (Image &image)
{
for(SymbolIterator symbol = image.symbol_begin();
symbol != image.symbol_end();
++symbol)
cout << "decoded " << symbol->get_type_name() << " symbol "
<< "\"" << symbol->get_data() << "\"" << endl;
}
};
int main (int argc, char **argv)
{
const char *device = "/dev/video0";
if(argc > 1)
device = argv[1];
Processor proc(true, device);
proc.set_config(ZBAR_NONE, ZBAR_CFG_ENABLE, …Run Code Online (Sandbox Code Playgroud) 我需要使用点在两条边之间添加一个链接。我需要添加到图中的是图片中显示的两条边之间标有“b”的红色链接。
源代码如下:
digraph {
a -> b;
a -> c;
}
Run Code Online (Sandbox Code Playgroud)

c++ ×1
dot ×1
graph-theory ×1
graphviz ×1
java ×1
jtextfield ×1
keyevent ×1
libraries ×1
linker ×1
swing ×1
validation ×1
zbar ×1