Ereignisverarbeitung

1nfinity

Mitglied
Hallo zusammen,

ich erstelle zurzeit ein Programm, das später messwerte (puls, blutdruck etc.) über eine serielle schnittstelle einlesen soll und sie anschließend in einem diagramm im fenster wiedergibt.

nun habe ich mein fenster mit den basisitems erstellt. es gibt 3 buttons (starten, einlesen, beenden) und ein menü mit 5-6 unterpunkten.

als erstes möchte ich den button "beenden" funktionstüchtig machen.
dazu habe ich mir zunächste eine klasse "exitbuttonlistener" erstellt.

Java:
Java:
import java.awt.*;
import java.awt.event.*;


class bExitButtonListenero implements ActionListener 

{
	public void actionPerformed(ActionEvent e)
	{
		// Anweisung Programmende
		System.exit(0); 
	}
}

Als nächstes muss ich folgenden code verwenden, um das listener objekt zu registrieren.

Java:
class ApplicationContent{
...
public ApplicationContent() { // Konstruktor
...
JButton theExitButton = new JButton("Beenden");
JMenuItem theExitMenu = new JMenuItem("Beenden");
ExitButtonListener exitListener;
exitListener = new ExitButtonListener();
theExitButton.addActionListener(exitListener);
theExitMenu.addActionListener(exitListener);
...
}
...
}

leider bin ich mir nicht ganz im klaren, was an den stellen für <...> eingesetzt werden muss.
muss ich die button- und menulistener jeweils in die methoden einfügen, wo ich die items erstelt habe?
und ist meine klasse exituttonlistener vollständig?

falls notwendig, kann ich die restliche klasse mit den buttons auch gerne noch einfügen

freue mich auf antworten!

mfg,

1nfinity
 
S

SlaterB

Gast
der Listener ist gut, die ... stehen für ein beliebiges sonstiges Restprogramm, da kann man doch nicht sagen was du da einfügen musst,

wenn du generell noch nie eine lauffähige GUI geschrieben hast, dann ist der Link doch wieder gut für Beispiele,
ansonsten hast du nun 6 Zeilen, die du an richtiger Stelle in die GUI einfügen musst, z.B. dort wo auch andere Buttons definiert werden

edit: und du musst eine Position im Layout für den Button finden und ihn korrekt einfügen
 
Zuletzt bearbeitet von einem Moderator:

AmunRa

Gesperrter Benutzer
Dann verstehe ich deine Frage nicht. Was willst du machen

was geht nicht, bzw wie verhält sich dein Programm jetzt und wie soll es sich verhalten
 

1nfinity

Mitglied
folgenden code habe ich nun für mein exitbutton eingefügt.

aber da erstellt der mir jetzt einen neuen button (der zwar das fenster schließt) aber der eigentliche exitbutton ist damit nicht verknüpft.



Java:
JButton theExitButton = new JButton("Beenden");
this.add(theExitButton);

ExitButtonListener theExitListener;
theExitListener = new ExitButtonListener();
theExitButton.addActionListener(theExitListener);

ich möchte keinen neuen button haben( der nebenbei das ganze fesnter füllt), sondern ich möchte, das diese funktion meinen schon bereits vorhandenen button sagt, schließe das fenster wenn du gedrückt wirst.
 
S

SlaterB

Gast
dann solltest du offensichtlich keinen neuen Button erstellen,
sondern nur das Listener-Objekt und addActionListener() an einem vorhandenen Button aufrufen?

wenn dir solche Gedankengänge schwerfallen, dann ist GUI aber noch ein bisschen zu hohes Thema..,
mit einfachen Objekten, Listen, int rechnen ist weniger nebenbei zu beachten (wie das Layout für die Größe der Buttons)
 

1nfinity

Mitglied
IT WORKS!

habs doch geschafft. das mit dem add war natürlich ein befehl zuviel!
Java:
public void bsetButtonso()
    {
    	
    	
        JButton bmyButton1o = new JButton("Starten");
        bmyButton1o.setPreferredSize(new Dimension(90,20));
        JButton bmyButton2o = new JButton("Einlesen");
        bmyButton2o.setPreferredSize(new Dimension(90,20));
        JButton bmyButton3o = new JButton("Beenden");
        
        bExitButtonListenero btheExitListenero;
        btheExitListenero = new bExitButtonListenero();
        bmyButton3o.addActionListener(btheExitListenero);
        
        bmyButton3o.setPreferredSize(new Dimension(90,20));
        JPanel bmyButtonPaneo = new JPanel();
        bmyButtonPaneo.setPreferredSize(new Dimension(100,60));
        bmyButtonPaneo.add(bmyButton1o);
        bmyButtonPaneo.add(bmyButton2o);
        bmyButtonPaneo.add(bmyButton3o);
        this.add(bmyButtonPaneo,BorderLayout.WEST);


vielen danke für eure zeit und mühe!

mfg,

1nfinity
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Ereignisverarbeitung AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben