[java] Dostęp do wartości z JTextField
-
- Użytkownik
- Posty: 13
- Rejestracja: 27 lut 2011, o 14:29
- Płeć: Mężczyzna
- Lokalizacja: Lublin
- Podziękował: 4 razy
[java] Dostęp do wartości z JTextField
Cześć,
mam program w którym chcę wpisywać dane typu int i przepuszczać je przez metodę obliczającą je, i dającą pewien wynik.
Zrobiłem ten programik w javascript'cie i jest ok. ale troche mam problemy z zawiłościami javy jeśli można to tak nazwać.
Jeśli utworzę pole za pomocą konstruktora JTextField() to jak uzyskać dostęp do tego tekstu, narzecz powyższej metody pomijajac tu omówienie addActionListener(). ? i czy liczby wpisywane w pole textowe nie spowoduja błędu. ?
mam program w którym chcę wpisywać dane typu int i przepuszczać je przez metodę obliczającą je, i dającą pewien wynik.
Zrobiłem ten programik w javascript'cie i jest ok. ale troche mam problemy z zawiłościami javy jeśli można to tak nazwać.
Jeśli utworzę pole za pomocą konstruktora JTextField() to jak uzyskać dostęp do tego tekstu, narzecz powyższej metody pomijajac tu omówienie addActionListener(). ? i czy liczby wpisywane w pole textowe nie spowoduja błędu. ?
-
- Użytkownik
- Posty: 13
- Rejestracja: 27 lut 2011, o 14:29
- Płeć: Mężczyzna
- Lokalizacja: Lublin
- Podziękował: 4 razy
[java] Dostęp do wartości z JTextField
Mi chodzi tylko o to aby liczbę wpisywaną do TextField można było wykorzystać w obliczeniach.
Podam przykład z JS.
Tylko o to mi chodzi. Chcę stworzyć program ale mam problemiki na starcie a książka wszystkiego nie wyjaśnia.
Czy można w ten sposób wprowadzać dane do programu? (nie wiem czy dobrze to wyjaśniłem
Prompt to niby JTextField. umówmy się... bo normalnie to by było input.
W JS też mamy podobną metodę getElementById. Jeżeli nadamy Id jakiemuś elem. to można go potem wykorzystać w obliczeniach.Np: Czy getText() działa na tej samej zasadzie? Czyli można przekazać wartość pola do metody aby coś obliczyć?
EDIT: tzn. ja wiem że można tylko jak się do tej wartości odwołać.
Podam przykład z JS.
Kod: Zaznacz cały
var liczba = prompt("","");
liczba +=1;
document.write(liczba);
Czy można w ten sposób wprowadzać dane do programu? (nie wiem czy dobrze to wyjaśniłem
Prompt to niby JTextField. umówmy się... bo normalnie to by było input.
W JS też mamy podobną metodę getElementById. Jeżeli nadamy Id jakiemuś elem. to można go potem wykorzystać w obliczeniach.Np:
Kod: Zaznacz cały
<input id= "liczba" type="text">
EDIT: tzn. ja wiem że można tylko jak się do tej wartości odwołać.
Ostatnio zmieniony 6 mar 2011, o 16:12 przez SzYpxx, łącznie zmieniany 2 razy.
-
- Użytkownik
- Posty: 735
- Rejestracja: 7 lis 2005, o 23:56
- Płeć: Mężczyzna
- Lokalizacja: Łódź
- Podziękował: 2 razy
- Pomógł: 133 razy
[java] Dostęp do wartości z JTextField
Możesz przekonwertować tekst do liczby:
dodatkowo funkcja rzuca wyjątki, musisz to obsłużyć
Kod: Zaznacz cały
int liczba = Integer.parseInt(field.getText());
-
- Użytkownik
- Posty: 13
- Rejestracja: 27 lut 2011, o 14:29
- Płeć: Mężczyzna
- Lokalizacja: Lublin
- Podziękował: 4 razy
[java] Dostęp do wartości z JTextField
Czyli rozumiem że muszę do tego stworzyć metodę. To w miarę rozumiem. Wyjątki z książki obczaję.(są przykł. jak je obsłużyć)
A czy jeżeli:
To mogę już później odwoływać się do tej wartości za pomocą samego słowa "liczba" ?
A czy jeżeli:
Kod: Zaznacz cały
liczba = Integer.parseInt(pole.getText())
-
- Moderator
- Posty: 2828
- Rejestracja: 15 cze 2008, o 15:45
- Płeć: Mężczyzna
- Lokalizacja: Seattle, WA
- Podziękował: 3 razy
- Pomógł: 356 razy
[java] Dostęp do wartości z JTextField
Musisz trochę obkuć podstawy, bo ciężko Ci będzie.
Takie coś deklaruje Ci zmienną typu integer, a następnie przypisuje do niej test z kontrolki o nazwie pole, wcześniej konwertując go na liczbę całkowitą. Jeżeli operacja się nie powiedzie dostaniesz odpowiedni wyjątek. Jeżeli wszystko zakończy się bez błędów, to w zmiennej liczba masz to, czego potrzebujesz.
Kod: Zaznacz cały
int liczba = Integer.parseInt(pole.getText())
-
- Użytkownik
- Posty: 13
- Rejestracja: 27 lut 2011, o 14:29
- Płeć: Mężczyzna
- Lokalizacja: Lublin
- Podziękował: 4 razy
[java] Dostęp do wartości z JTextField
No i o takie wytłumaczenie mi chodziło. Dzięki.
Cały czas obkuwam podstawy... na błędach;)
-- 8 mar 2011, o 16:00 --
Dla wszystkich zainteresowanych:
Jeżeli mamy obiekty: JButton B1;, JTextField P1;, i JLabel L1;
to możemy po prostu wziąć tekst z pola P1 przypisać go do zmiennej 'String a;'(którą utworzyliśmy wcześniej) a po naciśnięciu 'B1'
przesłać go do danego obiektu np. 'L1'.
Tak samo jest z liczbami. Można przesyłać je do obiektów i będą traktowane jako string.
Jeszcze nie wiem czy można operować tymi liczbami po prostu rzutując je na 'int'.
Ale wkrótce się dowiem;)
Pozdrawiam.
-- 8 mar 2011, o 16:05 --
A jeśli jeszcze dodamy na końcu to po przekazaniu wartości z pola P1
zniknie wpisywany tekst przygotowując je do nowego wpisu i jednocześnie likwidując konieczność ustawiania przycisku "wyczyść".
Pozdro.
Cały czas obkuwam podstawy... na błędach;)
-- 8 mar 2011, o 16:00 --
Dla wszystkich zainteresowanych:
Kod: Zaznacz cały
public void actionPerformed(ActionEvent evt){
Object src = evt.getSource();
if(src==B1) a = P1.getText();
L1.setText(a);
P1.setText("");
repaint();
to możemy po prostu wziąć tekst z pola P1 przypisać go do zmiennej 'String a;'(którą utworzyliśmy wcześniej) a po naciśnięciu 'B1'
przesłać go do danego obiektu np. 'L1'.
Tak samo jest z liczbami. Można przesyłać je do obiektów i będą traktowane jako string.
Jeszcze nie wiem czy można operować tymi liczbami po prostu rzutując je na 'int'.
Ale wkrótce się dowiem;)
Pozdrawiam.
-- 8 mar 2011, o 16:05 --
A jeśli jeszcze dodamy
Kod: Zaznacz cały
P1.setText("");
zniknie wpisywany tekst przygotowując je do nowego wpisu i jednocześnie likwidując konieczność ustawiania przycisku "wyczyść".
Pozdro.