🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.java
Article #153829

Rozróżnianie przycisków

#153829
From: Borneq
Date: Sat, 24 Aug 2013 14:45
47 lines
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-mail

Show 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