/******************************************************************************* * This file is part of GECAMed. * * GECAMed is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License (L-GPL) as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * GECAMed is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License (L-GPL) * along with GECAMed. If not, see <http://www.gnu.org/licenses/>. * * GECAMed is Copyrighted by the Centre de Recherche Public Henri Tudor (http://www.tudor.lu) * (c) CRP Henri Tudor, Luxembourg, 2008 *******************************************************************************/ package de.lazyzero.kkMulticopterFlashTool.gui; import javax.swing.JTextArea; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.PlainDocument; /* * A limited text area that can only hold a specifi amount of charachters. */ public class LimitedTextArea extends JTextArea { /** * */ private static final long serialVersionUID = 1L; private int limit = 1000; public LimitedTextArea(int limit) { super(); this.limit = limit; setLineWrap(true); init(); } public LimitedTextArea(String text, int limit) { super(); this.limit = limit; this.setText(text); setLineWrap(true); init(); } private void init() { this.setDocument(new LimitValidation()); } public class LimitValidation extends PlainDocument { // ~ Static fields/initializers // ========================================= private static final long serialVersionUID = 1L; // ~ Constructors // ======================================================= /** * Constructor for the Validationdocument */ public LimitValidation() { super(); } // ~ Methods // ============================================================ public void insertString(int offset, String str, AttributeSet attr) throws BadLocationException { if ((getLength() + str.length()) <= limit) super.insertString(offset, str, attr); } } }