Article View: pl.comp.lang.java
Article #153829Rozróżnianie przycisków
From: Borneq
Date: Sat, 24 Aug 2013 14:45
Date: Sat, 24 Aug 2013 14:45
47 lines
2440 bytes
2440 bytes
Chcę napisać przykładowy kalkulator, ale nie zwykły, którego źródła można
spotkać w książkach do programowania. Kalkulator będzie miał wiele trybów,
naciśnięcie klawisza shift na przykład spowoduje że klawisze przybiorą inne
teksty.
Chciałem zrobić to tak, że klawiasze będą miały różne tagi: 0,1,2,3,4...
Dodatkowo będą rózne kody operacji jak
BTN_INV
BTN_FRACT
BTN_LOG
BTN_10_x
BTN_LN
BTN_e_x
Mają być tablice konfiguracji: Jedna to klawisze bez shifta:
BTN_INV
BTN_LOG
BTN_LN
A driuga klawiasze z schiftem
BTN_FRACT
BTN_10_x
BTN_e_x
Naciskam klawisz, odczutuję jego tag, patrzę w tablicy i odczytuję kod.
Ale w JButton nie mam tagów a jedynie rozróżnianie po nazwie:
Przykład
http://examples.javacodegeeks.com/desktop-java/swing/jbutton/handle-action-events-for-jbutton/
JButton button1 = new JButton("Yes");
JButton button2 = new JButton("No");
//set action listeners for buttons
button1.addActionListener(this);
button2.addActionListener(this);
//add buttons to the frame
add(button1);
add(button2);A potem rozróznianie public void
actionPerformed(ActionEvent ae) {
String action = ae.getActionCommand();
if (action.equals("Yes")) {
System.out.println("Yes Button pressed!");
}
else if (action.equals("No")) {
System.out.println("No Button pressed!");
}
}Nie za bardzo mi się to podoba, po klawisz moze miec rózny tekst w
zależnośc od akcji, natomiast moze być kilka klawiaszyz tym samym tekstem,
na przykład pustym.Jak to rozwiązać?
Technical Details
Message-ID:
<kvagtq$uai$1@node1.news.atman.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: "Borneq" <borneq@antyspam.hidden.pl> Newsgroups: pl.comp.lang.java Subject: Rozróżnianie przycisków Date: Sat, 24 Aug 2013 16:45:10 +0200 Organization: ATMAN - ATM S.A. Lines: 48 Message-ID: <kvagtq$uai$1@node1.news.atman.pl> NNTP-Posting-Host: 91.239.205.62 Mime-Version: 1.0 X-Trace: node1.news.atman.pl 1377355516 31058 91.239.205.62 (24 Aug 2013 14:45:16 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Sat, 24 Aug 2013 14:45:16 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit