как сделать многопользовательскую игру [закрыто]

Рассматривая количество просмотров, которые этот вопрос получает, я не нашел ни одного из вышеупомянутых решений, подходящих для моей проблемы. Я решил создать пользовательский PlainDocument , чтобы он соответствовал моим потребностям. Это решение также подает звуковой сигнал при достижении максимального количества символов, или вставленный текст не является целым числом.

private class FixedSizeNumberDocument extends PlainDocument
{
    private JTextComponent owner;
    private int fixedSize;

    public FixedSizeNumberDocument(JTextComponent owner, int fixedSize)
    {
        this.owner = owner;
        this.fixedSize = fixedSize;
    }

    @Override
    public void insertString(int offs, String str, AttributeSet a)
            throws BadLocationException
    {
        if (getLength() + str.length() > fixedSize) {
            str = str.substring(0, fixedSize - getLength());
            this.owner.getToolkit().beep();
        }

        try {
            Integer.parseInt(str);
        } catch (NumberFormatException e) {
            // inserted text is not a number
            this.owner.getToolkit().beep();
            return;
        }

        super.insertString(offs, str, a);
    }               
}

имплантируется следующим образом:

    JTextField textfield = new JTextField();
    textfield.setDocument(new FixedSizeNumberDocument(textfield,5));

30
задан Fugogugo 16 April 2011 в 15:40
поделиться