Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Форматирован. вывод в TextArea 
:(
    Опции темы
sidiakin
Дата 19.12.2012, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 16.10.2005

Репутация: нет
Всего: нет



Как вывести форматированный текст в TextArea? Мне нужно чтобы выводились числа с нулями впереди 000123. Пытаюсь 

Код

str = String.format("%08d", str);
TextArea.append(str);


Java ругается на %d Пробовал %s - все работает
PM MAIL   Вверх
sidiakin
Дата 19.12.2012, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 16.10.2005

Репутация: нет
Всего: нет



Все получилось Я разобрался
PM MAIL   Вверх
sidiakin
  Дата 19.12.2012, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 16.10.2005

Репутация: нет
Всего: нет



Еще вопросик.. Как сделать чтоб в TextArea можно было вводить только цифры, а если нажимается буквы то выдовать Ошибку ? Я в обработчике TextArea->KeyPressed написал 
Код

         if (key != 10)
            copy.errMessage();
        else if(key != 48)
            copy.errMessage();
        else if(key != 49)
            copy.errMessage();
        else if(key != 50)
            copy.errMessage();
        else if(key != 51)
            copy.errMessage();
        else if(key != 52)
            copy.errMessage();
        else if(key != 53)
            copy.errMessage();
        else if(key != 54)
            copy.errMessage();
        else if(key != 55)


Только у меня теперь errMessage выскакивает на любое нажатие 
PM MAIL   Вверх
Mirkes
Дата 31.12.2012, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 586
Регистрация: 18.8.2011
Где: Красноярск

Репутация: 2
Всего: 17



Вообще-то в приведенном коде прямо написано - всегда ошибка. 
Проверьте. Пусть код равен ли в виду следующее:
Код

     if ((key != 10) && (key != 48)&&(key != 49)&& (key != 50)&&(key != 51)&&(key != 52)&&(key != 53)&&(key != 54)&&(key != 55)
            copy.errMessage();


хотя по человечески следовало бы написать так
Код

     if ((key != 10) && ((key < 48)||(key > 57))
            copy.errMessage();




--------------------
Mirkes
PM MAIL   Вверх
dorogoyIV
Дата 31.12.2012, 03:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 36
Всего: 46



Код

 private JTextArea jta = new JTextArea();

...

 public void keyPressed(KeyEvent e)
 {
  String text = jta.getText();

  if(!Character.isDigit(e.getKeyChar()))
  {
   JOptionPane.showMessageDialog(null, "not digit");
   jta.setText(text);
  }
 }


этот вариант подходит только для целых положительных чисел, поэтому я обычно использую такой:
Код

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Main extends JFrame
{
    private NumberTextField ntf = new NumberTextField();
    
    public Main()
    {
        add(ntf);
    }

    public static void main(String [] args)
    {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                Main main = new Main();
                main.setDefaultCloseOperation(3);
                main.setBounds(100, 100, 400, 300);
                main.setVisible(true);}});
        }
}

class NumberTextField extends JTextField
            implements KeyListener, FocusListener
{
    private String s = "";

    NumberTextField()
    {
        setHorizontalAlignment(JTextField.CENTER);
        addKeyListener(this);
        addFocusListener(this);
        setValue(0);
    }

    public void setValue(double d)
    {
        setText(getNumber(d + "") + "");
    }

    public double getNumber()
    {
        return getNumber(getText());
    }

    private double getNumber(String text)
    {
        double d = 0;

        try
        {
            d = Double.parseDouble(text);
            s = d + "";
        }
        catch(NumberFormatException ex)
        {
            setText(s);
        }
        return d;
    }

    public void keyPressed(KeyEvent e)
    {
        if(e.getKeyCode() == KeyEvent.VK_ESCAPE ||
            e.getKeyCode() == KeyEvent.VK_DELETE)
        {
            s = "";
            setText(s);
        }
    }

    public void keyReleased(KeyEvent e)
    {
        if(getText().length() > 1) //число может быть отрицательным,
                    //первый символ может быть минусом
            getNumber(getText());
    }
    public void keyTyped(KeyEvent e){}

    public void focusGained(FocusEvent e){}
    public void focusLost(FocusEvent e)
    {
        setText(getNumber() + "");
    }
}


Это сообщение отредактировал(а) dorogoyIV - 1.1.2013, 06:14
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0438 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.