Stack-Operationen

Status
Nicht offen für weitere Antworten.

mic_checker

Top Contributor
was meinst du damit "wenn du zwei fenster öffnest" ? Meinst du wenn du deinen StackViewer zweimal startest oder was?

Ansonsten kann ich wohl erst wieder heute abend Code posten....
 

Sindbad1983

Top Contributor
naja..welchen Sinn hat dann eigentlich das MVC?
->Dass bei Veränderung des Models alle Sichten benachrichtigt werden, oder täusch ich mich?
->das heißt alle Views werden aktualisiert..

also bei mehreren offenen Fenstern müsste das eigentlich der Fall sein, oder?
 

Wildcard

Top Contributor
Hab mir jetzt nicht den ganzen Thread durchgelesen, aber wo hast du jetzt 2 Fenster her, beziehungsweise wie öffnest du das 2. Fenster?
Teilen sie sich ein Model oder haben sie verschiedene?
 

mic_checker

Top Contributor
Was anderes:
Dein pop() müsstest du noch etwas ändern, du überprüfst ob size() < 2 ist, aber wenn du poppen() willst reicht es wenn ein Element auf dem Stack liegt, Ansonsten kommt halt beim zweiten pop() der Fehler.....

Verstehe immer noch nicht genau was du mit zwei Fenstern meinst? Zwei StackViewer?
 

Sindbad1983

Top Contributor
Ja..im Eclipse kann man ja mehrere StackViewer öffnen...

naja..is egal!

Ich hab jetzt grad versucht einen KeyListener zu implementieren!
Muss ich diesen KeyListener beim Input-Panel anmelden oder?

Die Zahl, die ich in das Textfield schreibe soll gepushed werden, nachdem ich die Enter-Taste gedrückt hab!
geht leider nicht! :cry:



Code:
public class StackPanel extends JPanel implements ActionListener, KeyListener, NotificationReceiver{
	
	
	  
	   private JButton add,sub,mult,div,pushButton; 
	   private JTextField zahl; 
	   private JList list; 
	   private JPanel general,input,output; 
	   double pushZahl;
	   Stack myvalues;
	   int cnt=0;
	   
	   
	   public StackPanel(Stack model){
		  
		   
		   myvalues=model;
		   myvalues.subscribe(this);
		 
		  
		   
		   JPanel general=new JPanel();
		   
		   //Registrierung
		   general.addKeyListener(this);
		  
		   general.setLayout(new GridLayout(2,1));
		   
		   
		   
	      
	       output=new JPanel(); 
	      
	       
	       list = new JList(myvalues);
	       list.setPrototypeCellValue("9999/9999");
	       list.setFixedCellHeight(15);
	       list.setFixedCellWidth(150);
	      
	       JScrollPane scrollPane = new JScrollPane(list);
	       scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
	       output.add(scrollPane);
	       output.setBackground(Color.red);
	       general.add(output);

		   
		   JPanel input=new JPanel();
		   
		   //Registrierung
		 //  input.addKeyListener(this);  ->>mit dem gehts auch nicht
		   input.setLayout(new FlowLayout());

	       add=new JButton("Addiere"); 
	       add.addActionListener(this);
	       sub=new JButton("Subtrahiere"); 
	       sub.addActionListener(this);
	       mult=new JButton("Multipliziere"); 
	       mult.addActionListener(this);
	       div=new JButton("Dividiere"); 
	       div.addActionListener(this);
	       pushButton=new JButton("Hinzufügen"); 
	       pushButton.addActionListener(this);
	       zahl=new JTextField(8);
	       
	       
	       input.add(add); 
	       input.add(sub); 
	       input.add(mult); 
	       input.add(div); 
	       input.add(pushButton); 
	       input.add(zahl);
	       input.setBackground(Color.blue);
	       
	       general.add(input);
	       
	       
	       
	       add(general);
	   }
	   
	   public int makeBigger(int cnt){
		   cnt--;
		   return cnt;
	   }
	   
	   
	   public void actionPerformed(ActionEvent e){
		  if(e.getSource()==pushButton){
			  cnt++;
			  makeBigger(cnt);
			  list.setFixedCellHeight(15+cnt);
			 try{
			 pushZahl= Double.parseDouble(zahl.getText());
			 myvalues.push(pushZahl);
			 zahl.setText(null);
			 }
			 catch(Exception e1){};
		  }else if(e.getSource()==add){
			  myvalues.addiere();
			  
		  }else if(e.getSource()==sub){
			  myvalues.subtrahiere();
		  }else if(e.getSource()==mult){
			  myvalues.multipliziere();
		  }else if(e.getSource()==div){
			  try {
				myvalues.dividiere();
			} catch (ZeroDivisionException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
		  }
		
		   repaint();
	   }

	public void notifyOberservers() {
		repaint();
		
		
	}

	public void keyTyped(KeyEvent event) {
		
		
	}

	public void keyPressed(KeyEvent event) {
		if(event.getKeyChar()==KeyEvent.VK_ENTER){
			try{
			 pushZahl= Double.parseDouble(zahl.getText());
			 myvalues.push(pushZahl);
			 zahl.setText(null);
			}catch(Exception e){};
		
		}
		repaint();
	}

	public void keyReleased(KeyEvent event) {
		// TODO Auto-generated method stub
		
	}
}
 

Sindbad1983

Top Contributor
ich versteh das nicht!
Ich such da stundenlang nach Fehlern und find aber keinen bzw. die richtige Lösung!
Wie macht ihr das?
Habt ihr nen Tipp für mich?
Oder ist das einfach nur die Erfahrung, die da weiterhilft?
 

Wildcard

Top Contributor
Wenn du das Programm mehrmals startest sind die unabhängig voneinander, was bedeutet das sie auch unterschiedliche Models haben und sich deshalb natürlich nicht gegenseitig aktualisieren. Währ ja auch ziemlich dämlich... :wink:
KeyEvents werden nur gefeuert wenn die Komponente auch den Focus hat. Ein Panel ist von Natur aus erst mal nicht fokusierbar, du musst daher noch
Code:
input.setFocusable(true) ;
aufrufen
 

Sindbad1983

Top Contributor
:lol: 8) :lol:

ok..ich bin selber draufgekommen!! :bae:

Man muss das TextField registrieren und nicht das JPanel!!

Code:
zahl=new JTextField(8);
zahl.addKeyListener(this);
 

Sindbad1983

Top Contributor
also mit deinem Vorschlag funktionierts leider nicht! :cry:


Code:
		   JPanel input=new JPanel();
		   input.addKeyListener(this);
		   input.setFocusable(true);
 

Wildcard

Top Contributor
hast du auch auf das Panel draufgeklickt oder input.requestFocus() aufgerufen?
Ist aber auch egal, wenn der Listener sowieso für das TextFeld bestimmt ist, ist er da auch besser aufgehoben. Dachte nur do wolltest einen Listener auf dem Panel haben. :wink:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A stack Java Basics - Anfänger-Themen 14
Proxy Stack erweitern mit neuem Array falls der alte voll ist!? Java Basics - Anfänger-Themen 5
V Ist Off-Heap-Speicher dasselbe wie Stack-Speicher? Java Basics - Anfänger-Themen 2
izoards Stack... Java Basics - Anfänger-Themen 17
Csircc Rekursive Methode Stack Overflow Java Basics - Anfänger-Themen 10
B Zahlenfolge von Queue in Stack Java Basics - Anfänger-Themen 29
L Stack bilden, push und pop Java Basics - Anfänger-Themen 16
KogoroMori21 Stack und Heap Speicher Java Basics - Anfänger-Themen 1
G Stack und Queue Arbeitsblatt Java Basics - Anfänger-Themen 3
G Stack programmieren Java Basics - Anfänger-Themen 6
Z Datentypen Stack based calculator Java Basics - Anfänger-Themen 8
F speicherort stack oder heap Java Basics - Anfänger-Themen 1
S Rekursiven Stack Java Basics - Anfänger-Themen 6
Curtis_MC Collections Zufälliges Element aus Stack Java Basics - Anfänger-Themen 2
D Queue vs. Stack Java Basics - Anfänger-Themen 6
P Stack, Heap Java Basics - Anfänger-Themen 13
D Erste Schritte Stack im Rollenspiel Java Basics - Anfänger-Themen 76
J Stack mit Benutzereingabe Java Basics - Anfänger-Themen 17
J Liste,Queue,Stack sortieren Java Basics - Anfänger-Themen 2
C Stack und Queue in Aktion (Bitte Hilfe für die Klausur) Java Basics - Anfänger-Themen 7
S Sequenz von Zahlen bei einem Stack möglich oder nicht möglich? Java Basics - Anfänger-Themen 5
E Stack vs Queue - Gemeinsamkeiten / Unterschiede Java Basics - Anfänger-Themen 7
C Laufzeit von Stack Operation Java Basics - Anfänger-Themen 5
4 Stack over flow bei rekursiver Tiefensuche Java Basics - Anfänger-Themen 5
J Quicksort mit Stack Java Basics - Anfänger-Themen 4
A Anzahl der Elemente in einem Stack wiedergeben Java Basics - Anfänger-Themen 3
T Stack Overflow - Rekursive Fibonacci Java Basics - Anfänger-Themen 10
K Tiefen- und Breitensuche beim Baum durch Stack und Warteschlange Java Basics - Anfänger-Themen 1
L Liste mittels Stack implementieren Java Basics - Anfänger-Themen 0
A Stack programmieren -> Unklarheiten Java Basics - Anfänger-Themen 1
C Stack - listenbasierte Implementierung Java Basics - Anfänger-Themen 4
L Mit rekursiven Aufrufen einen Stack emulieren Java Basics - Anfänger-Themen 1
T Frage zu Java Stack Java Basics - Anfänger-Themen 5
D Stack-Objekt - LIFO - wait(); notify(); Java Basics - Anfänger-Themen 0
J Array von Objekten, wie schauts im Heap / Stack aus ? Java Basics - Anfänger-Themen 7
M Frage zu Stack und Heap Java Basics - Anfänger-Themen 1
Farbenfroh Suche Übungsaufgaben: BinaryTree, Stack Java Basics - Anfänger-Themen 0
D Aufgabe: Stack mit Iterator Java Basics - Anfänger-Themen 8
X Stack mit Oberklasse, wieso funktioniert es nicht? Java Basics - Anfänger-Themen 8
B Stack/Heap Frage Java Basics - Anfänger-Themen 36
K Probleme mit stack Java Basics - Anfänger-Themen 7
K Wofür wird heute noch die Stack Klasse in Java genutzt Java Basics - Anfänger-Themen 4
F Rekursion Tiefensuch-Problem - Stack Overflow Java Basics - Anfänger-Themen 9
P LinkedList - Stack ... grundlegende Frage Java Basics - Anfänger-Themen 5
B Stack in eine verkettete Liste pushen Java Basics - Anfänger-Themen 4
J OOP Warum braucht man den Stack Java Basics - Anfänger-Themen 3
B Queue mit Daten aus einem Stack füllen Java Basics - Anfänger-Themen 21
G Stack invertieren Java Basics - Anfänger-Themen 3
H Pseudo-Stack (char[] stackArray) mit Zeichen aus einer .txt-Datei befüllen Java Basics - Anfänger-Themen 5
S Stack Problem mit Objekt Java Basics - Anfänger-Themen 2
X String mit String von Objekt im Stack vergleichen? Java Basics - Anfänger-Themen 14
D Stack auslesen mit pop Java Basics - Anfänger-Themen 2
S Stack als verkettete liste/ toString methode Java Basics - Anfänger-Themen 3
S Exceptions bei push/pop in Stack Java Basics - Anfänger-Themen 8
S Eigene Stack Klasse Java Basics - Anfänger-Themen 26
S Stack: Klasseninvariante Java Basics - Anfänger-Themen 4
L OOP Wrapper Klassen - Stack-Aufgabe Java Basics - Anfänger-Themen 2
M Frage zu Stack Java Basics - Anfänger-Themen 3
D Problem mit Set, Stack und Random Java Basics - Anfänger-Themen 2
O Stack Implementierung als verkettete Liste Java Basics - Anfänger-Themen 8
T Probleme bei einen Stack der über drei Dateien funktionieren soll Java Basics - Anfänger-Themen 5
V java.util.Stack Java Basics - Anfänger-Themen 9
K Stack und immer gleiches Objekt Java Basics - Anfänger-Themen 11
kulturfenster Stack / Queue Implementationen Java Basics - Anfänger-Themen 11
S Stack einlesen. Java Basics - Anfänger-Themen 2
E Stack kann nicht implimentiert werden Java Basics - Anfänger-Themen 11
E Eigene Stack Klasse schreiben Java Basics - Anfänger-Themen 12
J Stack Java Basics - Anfänger-Themen 3
K min-int-Wert in'nem Stack Java Basics - Anfänger-Themen 8
L Stack UpnRechner Java Basics - Anfänger-Themen 4
B Stack mit Bildern füllen Java Basics - Anfänger-Themen 2
B Stack mit Strings in zufälliger Reihenfolge füllen Java Basics - Anfänger-Themen 4
J Stack, der Integer-Zahlen enthält Java Basics - Anfänger-Themen 3
K Array Stack Java Basics - Anfänger-Themen 6
O Stack-Klasse Java Basics - Anfänger-Themen 7
S Stack mit Arrays Java Basics - Anfänger-Themen 3
T generischer stack Java Basics - Anfänger-Themen 3
Z Keller/Stack Problem Java Basics - Anfänger-Themen 11
H Stack und Queue Java Basics - Anfänger-Themen 6
M Stack SetValTop Java Basics - Anfänger-Themen 6
G Die Klasse Stack selber schreiben. Java Basics - Anfänger-Themen 2
F Klammertest mit Stack implementieren Java Basics - Anfänger-Themen 5
X Stack Java Basics - Anfänger-Themen 14
J Morgen Java-Klausur. Stack, Heap, Method-Area Java Basics - Anfänger-Themen 2
H Unterschied zwischen Stack und Array Java Basics - Anfänger-Themen 3
F MergeSort iterativ mit Hilfe von Stack Java Basics - Anfänger-Themen 5
S stack Java Basics - Anfänger-Themen 3
S Stack invertieren Java Basics - Anfänger-Themen 14
S Stack.pop() wie genau funktioniert das? Java Basics - Anfänger-Themen 3
A Stack, Frage zur Methode push Java Basics - Anfänger-Themen 4
C Anzahl der Elemente auf einem Stack Java Basics - Anfänger-Themen 4
D Stack chaos Java Basics - Anfänger-Themen 2
megachucky kleines problem mit nem STACK Java Basics - Anfänger-Themen 8
I Stack ist auf einmal empty Java Basics - Anfänger-Themen 3
R Beispiele für Stack & Visualisierung Java Basics - Anfänger-Themen 2
R Stack: Wieso funktioiert das? Java Basics - Anfänger-Themen 2
B eine kleine leichte aufgabe mit einem stack programmieren Java Basics - Anfänger-Themen 2
N Stack-Probleme Java Basics - Anfänger-Themen 2
K Stack Overflow Java Basics - Anfänger-Themen 2
H Frage zu arithmetischen Operationen Java Basics - Anfänger-Themen 20

Ähnliche Java Themen

Neue Themen


Oben