• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Minimalna/maksymalna ilość znaków w JTextField i JTextArea

Object Storage Arubacloud
0 głosów
851 wizyt
pytanie zadane 7 stycznia 2017 w Java przez Persantarus Początkujący (320 p.)
Witajcie.

Piszę program w NetBeansie i mam typowe pola - JTextField i JTextArea i potrzebuje ograniczyć w nich ilość wpisywanych znaków - np. żeby minimum było 10 a max 36. Chciałbym także mieć możliwość ograniczenia typu znaków, tzn. chcę żeby była możliwość wpisywania tylko liter, cyfr, przecinków, kropek i wykrzykników(no i spacji oczywiście).

Potrafi mi ktoś pomóc?

2 odpowiedzi

+1 głos
odpowiedź 7 stycznia 2017 przez Kornelia Kobiela Nałogowiec (33,340 p.)

Myślę, że do tego celu mógłbyś użyć wyrażenia Regularne. Jest to specjalny język funkcyjny, który pozwala nam na definiowanie wzorców tekstowych. Np. w tym artykule jest to całkiem przyjemnie opisane. Za ich pomocą i konkretnych zdarzeń możesz walidować formularze.

0 głosów
odpowiedź 7 stycznia 2017 przez ShiroUmizake Nałogowiec (46,300 p.)
String, to nie jest napis. String jest ciągiem znaków, które przypadkowo tworzą jakiś wyraz. A co ważniejsze, nie jest to obiekt prosty Wykorzystaj metodę na zliczenie długości ciągów znaków. Oczywiście to jest obiekt, więc by wyciągnąc String musisz wykorzystać metodę getText() (Ale to chyba wiesz).

https://www.tutorialspoint.com/java/java_string_length.htm

Jakiś warunek, ostatecznie próba wyrzucenia wyjątku.

Co do drugiego , jak kolezanka niżej wspomniałą bez regex się nie odbędzie.
komentarz 7 stycznia 2017 przez Persantarus Początkujący (320 p.)
Super, tylko jest jeden problem.

Uznajmy, że robię już to textArea.getText().length() i podaje w if'ie warunek ile maksymalnie ma być znaków. Mogę wtedy ustawić przykładowo setEnabled, setEditable, ale nie wiem jaka funkcja pozwoli na nie wczytywanie kolejnych znaków z klawiatury - tak żebyś wciskał klawisz a on nie będzie się wyświetlał. Podobnie kopiując tekst Ctrl + C, będzie się wklejała tylko podana w if'ie ilość znaków. Jak to ograniczyć? Czy jest jakaś funkcja, która za to odpowiada?
komentarz 9 stycznia 2017 przez ShiroUmizake Nałogowiec (46,300 p.)
Zastanów, się czy naprawdę musisz sprawdzać co znak czy wszystko jest ok? Czy nie lepiej po podanym ciągu znaków. Regex ci za wiele nie powie, jak będzie 2 znaki czy 1, czy wszystko jest OK. Jednakże, jeżeli musisz to zapoznaj się:

https://www.tutorialspoint.com/swing/swing_event_listeners.htm

Tutaj znajdziesz odpowiedż na swoje pytanie :).

Podobne pytania

+1 głos
2 odpowiedzi 373 wizyt
0 głosów
1 odpowiedź 299 wizyt
pytanie zadane 12 maja 2018 w Java przez Paweł Celuch Początkujący (420 p.)
0 głosów
0 odpowiedzi 136 wizyt
pytanie zadane 12 listopada 2017 w Java przez dybik08 Nowicjusz (120 p.)

92,615 zapytań

141,465 odpowiedzi

319,779 komentarzy

61,997 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...