Wątek przeniesiony 2015-03-13 20:29 z Java przez bogdans.

Przekazanie zawartości z JTextArea i czyszczenie jej

0

Witam, mam problem pisze pewien program w Javie. Mam taki problem, przekazuje zmienną po naciśnięciu przycisku z JTextField u mnie nazywa się pole. Po naciśnięciu przyciusku chciałbym by zawartość mojego pola przekazana była do zmiennej aa, a tekst z przycisku do zmiennej d, następnie żeby w JTextField było pusto. Niestety tak się nie dzieje. Proszę o pomoc

String aa="";
 String d="";
       	
       	ActionListener dod = new ActionListener()
       	{
    	   public void actionPerformed(ActionEvent arg0) {
    		    aa=pole.getText();
    		    d = dodawanie.getText();
               pole.setText("");
    	   	}
       	}; dodawanie.addActionListener(dod);
0

A co sie dzieje? Teoretycznie ten kod to robi. Potrzebny szerszy kontekst

0

to do kalkulatora, zeby przy naciśnieciu przyciusku +, pobrał mi z textfielda do stringa i wyczyścił zawartość textfilda, ale niee czysci go.. w konsoli eclipsa pojawiło się:

Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problems: 
	Local variable aa defined in an enclosing scope must be final or effectively final
	Local variable d defined in an enclosing scope must be final or effectively final

	at Okno$12.actionPerformed(Okno.java:180)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$500(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

dodanie znacznika <code class="java"> - @furious programming

0
String aa="";
...
aa=pole.getText();

Local variable aa defined in an enclosing scope must be final or effectively final

Czego nie rozumiesz?

0

Pomoże ktoś ??

0

Taki kod się skompiluje i wyczyści pole tekstowe.

           public void actionPerformed(ActionEvent arg0) {
               pole.setText("");
               }
           };

Jak chcesz więcej pomocy, to daj więcej kodu. Nie możesz przypisać pole.getText() do zmiennej lokalnej. Pokaż co chcesz z tym pole.getText() zrobić.

0

a do jakiej zmiennej moge przypisać tą zawartość ? to jest kawałek kalkulatora, zeby pobrał liczbe z textfielda i ją zapmiętał

0

Są dwa typy zmiennych: zmienne lokalne metod i pola (składowe) klas. Nie możesz skorzystać ze zmiennych lokalnych, sam wymyśl z czego możesz skorzystać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1