小编Una*_*oad的帖子

JTextField仅限于某些字符的输入

我想创建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条件,但现在用户可以粘贴不适当的输入,即'('或'<',没有任何问题......我该怎么办?

java validation swing keyevent jtextfield

5
推荐指数
1
解决办法
3793
查看次数

如何编译 ZBar 示例?(未定义参考...)

我需要将 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)

c++ linker compiler-errors libraries zbar

3
推荐指数
1
解决办法
6644
查看次数

用图点连接边

我需要使用点在两条边之间添加一个链接。我需要添加到图中的是图片中显示的两条边之间标有“b”的红色链接。

源代码如下:

digraph { 
    a -> b; 
    a -> c; 
} 
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

graph-theory dot graphviz

2
推荐指数
1
解决办法
964
查看次数