Verschiedene Fragen zu meinem Projekt

Hi,
ich arbeite erst seit 3 Tagen wieder mit Java, da ich an einem kleinen Projekt an meiner Hochschule mitarbeite. (Kein Informatik Studium)
Ein Teil meiner Aufgabe besteht darin, das passende Programm zu schreiben.
Was erklärt, was mich zu euch führt.
In der Schule haben wir im Informatikunterricht mit Java gearbeitet, darum habe ich mich wieder für Java entschieden. Das ist allerdings alles schon wieder so lange her, so das ich mich wieder als totalen Neuling einstufen würde.
Momentan habe ich mir 2 Bücher ausgeliehen, um mich reinzuarbeiten außerdem habe ich in den letzten Tagen verschiedene user Tutorials, hier im Forum durchgearbeitet.
Vorneweg, schon mal Danke dafür an die Autoren, die meisten waren wirklich sehr Hilfreich.
Da ich immer wieder auf Fragen stoße, die ich auch nach mehrstündiger Recherche nicht lösen kann,
habe ich diesen thread geöffnet.
Es wäre nett, wenn ich hier, im laufe der nächsten Wochen/Monate immer wieder Fragen reinstellen darf.
(Ich halte es für unsinnig immer einen neuen thread zu öffnen, außerdem sind dann womögliche spätere Fragen nicht vollständig aus dem Zusammenhang gerissen)

tl;dr: BlaBlaBla Ich brauche ab und zu Hilfe ;)

Ich werde meine erste Frage unter diesen Post setzten, so das eine gewisse Struktur eingehalten wird.
 
G

Gast2

Gast
Mach besser für jede Frage nen separaten Thread auf, dann hast du bessere Chancen auf Antworten. Außerdem ist es übersichtlicher, und ein anderer findet vielleicht auch ne Lösung zu seinem Problem.
 
Gestern habe ich meine GUI erstellt.

Heute wollte ich die ActionListener implementieren, oder sie zumindest verstehen.
Eigentlich hatte ich etwas anderes vor, was nicht geklappt hat, weswegen ich versucht habe meinen Fehler auf mein Problem zu fokussieren, so das es auch jedem leichter fällt meine Frage nachzuvollziehen.

Hier mein bisheriger code
Java:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class hauptfenstertestd extends JFrame 
{
/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
Container c;
JPanel jpnorth, jpeast, jpsouth, jpwest, jpcenter;
//Toolbar einfügen
JMenuBar menuBar;
JMenu menu;
JMenuItem menuItem;
JToolBar toolbar;
//Versuch listener einzufügen
JButton objekteinlesenbutton;
String wechselwestlayout ="leer";

public hauptfenstertestd()
	{
	c = getContentPane();
	
	//(this.wechselwestlayout = wechselwestlayout;  ???
	
	jpnorth = new JPanel();
	jpeast = new JPanel();
	jpsouth = new JPanel(new GridLayout(1,4));
	//Menüleiste erzeugen
	menuBar = new JMenuBar();
	//Erzeuge menu
	menu = new JMenu("Ansicht");
	menu.setMnemonic(KeyEvent.VK_A);
	//menu einträge erzeugen
	menuItem = new JMenuItem("Detail");
	menuItem.setMnemonic(java.awt.event.KeyEvent.VK_D);
	menu.add(menuItem);
	menuItem = new JMenuItem("Liste");
	menuItem.setMnemonic(java.awt.event.KeyEvent.VK_L);
	menu.add(menuItem);
	//menu der leiste hinzufügen
	menuBar.add(menu);
	//Leiste dem Frame hinzufügen
	setJMenuBar(menuBar);
	
	
	
	jpnorth.add(new JLabel("Objekte werden gesucht"));
	
	Icon bild = new ImageIcon("1" + ".png");
	jpeast.add(new JLabel(bild));
	
	//Listener für diesen Button - Teil des Problems
	//Versuch die listener einzufügen
	
	objekteinlesenbutton = new JButton("Objekt einlesen");
	jpsouth.add(objekteinlesenbutton);
	ObjekteinlesenbuttonListenerklasse obL = new ObjekteinlesenbuttonListenerklasse();
	objekteinlesenbutton.addActionListener(obL);
	
	
	jpsouth.add(new JButton("Objekte suchen"));	
	jpsouth.add(new JButton("Zurück"));
	jpsouth.add(new JButton("Weiter"));
	
	
	//Box 1
	  Box jpwest1 = Box.createVerticalBox();
	  JLabel name = new JLabel("Name");
	  jpwest1.add(name);
	  name.setAlignmentY(Component.LEFT_ALIGNMENT);
	  name.setAlignmentX(Component.LEFT_ALIGNMENT);
	  JLabel rfidnummer = new JLabel("RFID Nummer");
	  jpwest1.add(rfidnummer);
	  rfidnummer.setAlignmentY(Component.LEFT_ALIGNMENT);
	  rfidnummer.setAlignmentX(Component.LEFT_ALIGNMENT);
	  JLabel barcodenummer = new JLabel("Barcodenummer");
	  jpwest1.add(barcodenummer);
	  barcodenummer.setAlignmentY(Component.LEFT_ALIGNMENT);
	  barcodenummer.setAlignmentX(Component.LEFT_ALIGNMENT);
	  JLabel archivnummer = new JLabel("Archivnummer");
	  jpwest1.add(archivnummer);
	  archivnummer.setAlignmentY(Component.LEFT_ALIGNMENT);
	  archivnummer.setAlignmentX(Component.LEFT_ALIGNMENT);
	  JLabel ort = new JLabel("Aufenthaltsort");
	  jpwest1.add(ort);
	  ort.setAlignmentY(Component.LEFT_ALIGNMENT);
	  ort.setAlignmentX(Component.LEFT_ALIGNMENT);
	  JLabel datum = new JLabel("Letzte Ortung");
	  jpwest1.add(datum);
	  datum.setAlignmentY(Component.LEFT_ALIGNMENT);
	  datum.setAlignmentX(Component.LEFT_ALIGNMENT);
	  jpwest1.add(Box.createVerticalStrut(500));
	  jpwest1.setBorder(BorderFactory.createEmptyBorder(5,15,1000,15));
	  
	//muss noch Box 2 mit doppelPanel Schleife um Textfelder sichtbar oder unsichtbar zu machen in abhängigkeit von Objekt suchen
	 
	  
	  Box jpwest2 = Box.createVerticalBox();
	  JLabel obname = new JLabel(wechselwestlayout);
	  jpwest2.add(obname);
	  obname.setAlignmentY(Component.RIGHT_ALIGNMENT);
	  obname.setAlignmentX(Component.RIGHT_ALIGNMENT);
	  JLabel obrfidnummer = new JLabel("wird gesucht");
	  jpwest2.add(obrfidnummer);
	  obrfidnummer.setAlignmentY(Component.RIGHT_ALIGNMENT);
	  obrfidnummer.setAlignmentX(Component.RIGHT_ALIGNMENT);
	  JLabel obbarcodenummer = new JLabel("wird gesucht");
	  jpwest2.add(obbarcodenummer);
	  obbarcodenummer.setAlignmentY(Component.RIGHT_ALIGNMENT);
	  obbarcodenummer.setAlignmentX(Component.RIGHT_ALIGNMENT);
	  JLabel obarchivnummer = new JLabel("wird gesucht");
	  jpwest2.add(obarchivnummer);
	  obarchivnummer.setAlignmentY(Component.RIGHT_ALIGNMENT);
	  obarchivnummer.setAlignmentX(Component.RIGHT_ALIGNMENT);
	  JLabel obort = new JLabel("wird gesucht");
	  jpwest2.add(obort);
	  obort.setAlignmentY(Component.RIGHT_ALIGNMENT);
	  obort.setAlignmentX(Component.RIGHT_ALIGNMENT);
	  JLabel obdatum = new JLabel("wird gesucht");
	  jpwest2.add(obdatum);
	  obdatum.setAlignmentY(Component.RIGHT_ALIGNMENT);
	  obdatum.setAlignmentX(Component.RIGHT_ALIGNMENT);
	  jpwest2.add(Box.createVerticalStrut(500));
	  jpwest2.setBorder(BorderFactory.createEmptyBorder(5,15,1000,15));
	  
	//BOX für Westen
					
	Box box = Box.createHorizontalBox();
	box.add(Box.createHorizontalStrut(5));
	box.add(jpwest1);
	box.add(jpwest2);
	box.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
	getContentPane().add(box, BorderLayout.WEST);

	
	
	c.add(jpnorth,BorderLayout.NORTH);
	c.add(jpeast,BorderLayout.CENTER);
	c.add(jpsouth, BorderLayout.SOUTH);
	
	}

//Klasse für den Listener vermutlich Teil des Problems
//Klasse mit anweisungen für listener
	class ObjekteinlesenbuttonListenerklasse implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			wechselwestlayout = "jetzt nicht mehr";
		}
	}
	
public static void main (String []args)
	{
	hauptfenstertestd fenster = new hauptfenstertestd();
	fenster.setTitle("RFID Finder");
	fenster.setSize(900,700);
	fenster.setVisible(true);
	fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	

	}

}

Hauptproblem ist momentan, das ich es nicht schaffe das sich die variable wechselwestlayout,
die ich später für etwas anderes benutzen möchte, nicht ihren Inhalt ändert.

Ich habe zitiere nochmal den Teil des Codes, wo mmn der Fehler liegen könnte.

Java:
//Listener für diesen Button - Teil des Problems
	//Versuch die listener einzufügen
	
	objekteinlesenbutton = new JButton("Objekt einlesen");
	jpsouth.add(objekteinlesenbutton);
	ObjekteinlesenbuttonListenerklasse obL = new ObjekteinlesenbuttonListenerklasse();
	objekteinlesenbutton.addActionListener(obL);

und

Java:
//Klasse für den Listener vermutlich Teil des Problems
//Klasse mit anweisungen für listener
	class ObjekteinlesenbuttonListenerklasse implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			wechselwestlayout = "jetzt nicht mehr";
		}
	}

ich habe auch schon versucht, die variable zurück zu geben, ohne einen eigenen actionlistener zu bauen, aber auch das hat nicht funktioniert.
Außerdem wurde in verschiedenen threads davon geredet this zu benutzen, ich weiß aber leider nicht wo. So wie ich das sehe, wird da einfach nichts übergeben, was mich wundert,
weil hier klappt es z.B.

Beispiel Programm:
Java:
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
 
public class Versuch {
    public int Variabel = 0;
    
    public static void main(String[] args) {
        Versuch demo = new Versuch( ); 
        demo.gui();
    }
        public void gui ()//Erstellt ein einfaches GUI mit 2 Buttons
        {   
        // Fenster erstellen
        JFrame fenster = new JFrame("Fenster mit Menuleiste");
        fenster.setSize(1000, 500);
        fenster.setVisible(true);
        fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Beim schliessen des Fensters --> Programm beenden
        //Panel
        Panel panel= new Panel();
        fenster.add(panel);
        // Button1
        JButton Button1 = new JButton("+3");
        panel.add(Button1);
        //Button2
        JButton Button2 = new JButton("-3");
        panel.add(Button2);
                
        
        //Action
        Button1.addActionListener(new ActionListener() {
            public void  actionPerformed(ActionEvent e) {
                Variabel = Variabel + 3;
                System.out.println("Ich addiere der Variabel 3 und dies gibt den neuen Wert der Variabel = " +Variabel);// Zur Kontrolle den Wert ausgeben
            }});
        Button2.addActionListener(new ActionListener() {
            public void  actionPerformed(ActionEvent e) {
                Variabel = Variabel -3;
                System.out.println("Ich addiere der Variabel -3 und dies gibt den neuen Wert der Variabel = " +Variabel);// Zur Kontrolle den Wert ausgeben
            }});
    
        }   
}

wieso sich hier die variable ändert und oben nicht.

So, nächste mal versuch ich aber weniger zu schreiben.:)
Wenn mir jemand hilft, da auch gerne mit kurzer Erklärung.
Danke im vorraus.

mfg
 

insane80

Aktives Mitglied
Im Listener muss beim JLabel auch noch der Text neu gesetzt (aktualisiert) werden.
Dann würde deine Listenerklasse etwa so aussehen:

Java:
class ObjekteinlesenbuttonListenerklasse implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
        {
            wechselwestlayout = "jetzt nicht mehr";
            obname.setText(wechselwestlayout);
        }
    }

Dazu müsstest Du dann das
Code:
JLabel obname
auch noch als Instanzvariable deklarieren.
 
Ja, danke hat geklappt.
(kleine Anmerkung, ich musste natürlich auch noch JLabel obname = new JLabel(wechselwestlayout);
löschen, da ich es ja jetzt direkt oben als Instanzvariable deklariere.
Das war die natürlich klar, aber ich habe dann doch nochmal 5 Minuten gebraucht. ;)
Jetzt muss ich erstmal noch ein paar Sachen ausprobieren, um zu schauen ob ich damit schon weiter machen kann.


Kleine Frage noch.
EikeB hatte vorher angemerkt, das man doch lieber für jede Frage einen eigenen thread eröffnen sollte.
Ist das der allgemeine Konsens?
Dann werde ich das bei meiner nächsten Frage so handhaben, obwohl ich eigentlich lieber alles hier drin hätte.
 

insane80

Aktives Mitglied
Ja, habe ich vergessen zu erwähnen, aber du bist ja drauf gekommen ;)
Bzw. kannst du es ja als Instanzvariable deklarieren, die Initialisierung aber so lassen und halt dann nur den Typ (JLabel) entfernen.

Hm, hat schon Sinn, was EikeB geschrieben hat, denn wenn dieser Thread dann sehr lang wird, wird es denk ich auch unübersichtlicher. Wenn du jedesmal ein neues Thema aufmachst, weiß man gleich, worum es geht :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
3 Verschiedene Fragen (bin neu hier) Java Basics - Anfänger-Themen 5
I 2 verschiedene Klassen mit gleichen Property vergleichen Java Basics - Anfänger-Themen 13
N Verschiedene Konstruktoren mit gleichen Datentypen Java Basics - Anfänger-Themen 8
Buroto Threads Verschiedene .txt Dateien Auf Listen und Verbinden Java Basics - Anfänger-Themen 3
S OOP Java Eingabe in verschiedene Datenbank Tabellen eintragen Java Basics - Anfänger-Themen 7
I SWT Plattformunabhängig laden - verschiedene SWT .jar laden Java Basics - Anfänger-Themen 0
T Java FXML selbes Fenster verschiedene Stellen im Programm Java Basics - Anfänger-Themen 5
D Zwei verschiedene Intellij Projekte, wie benutze ich wechselseitig objekte Java Basics - Anfänger-Themen 8
K verschiedene Eingaben sortieren Java Basics - Anfänger-Themen 6
W Verschiedene Methoden in einer Klasse in der Main aufrufen? Java Basics - Anfänger-Themen 8
W n verschiedene Arrays zufällig ausgeben - mit der Random-Klasse? Java Basics - Anfänger-Themen 8
S Objekte von zwei klassen in zwei verschiedene Textdateien schreiben Java Basics - Anfänger-Themen 5
T for-each-Schleife, verschiedene Datentypen Java Basics - Anfänger-Themen 1
HoT verschiedene ArrayLists mit ähnlichem Namen in for-Schleife aufrufen Java Basics - Anfänger-Themen 3
FelixN Array mit verschiedene Datentypen als Rückgabewert? (Long und Double) Java Basics - Anfänger-Themen 3
T Vererbung Verschiedene Attribute für vererbte Klassen Java Basics - Anfänger-Themen 4
M JavaFX- Verschiedene Stages Java Basics - Anfänger-Themen 1
B Get / Set - Methode für verschiedene Entities? (generisch) Java Basics - Anfänger-Themen 21
L Wie Input auf verschiedene Kriterien hin überprüfen? Java Basics - Anfänger-Themen 3
T Vererbung Verschiedene Fahrzeugtypen mit unterschiedlicher Ausgabe Java Basics - Anfänger-Themen 17
C Verschiedene Objekte in einer Liste speichern Java Basics - Anfänger-Themen 6
F Komplexe Zahlen auf verschiedene Weise addieren Java Basics - Anfänger-Themen 18
N verschiedene Reihenfolgen ausgeben Java Basics - Anfänger-Themen 15
M Dijkstra Algorithmus in Graphen auf mehrere verschiedene Knoten anwenden lassen Java Basics - Anfänger-Themen 11
Java The Hutt SetWerte über verschiedene Klassen Java Basics - Anfänger-Themen 16
M Verschiedene Eingabe = Verschiedene Ausgaben Java Basics - Anfänger-Themen 5
M Erste Schritte Mit Variable verschiedene Texte in Textfeld einfügen Java Basics - Anfänger-Themen 27
T Datentypen Kann Java 2 verschiedene Datentypen vergleichen? Java Basics - Anfänger-Themen 2
B String auseinander nehmen in verschiedene Teile Java Basics - Anfänger-Themen 9
X Variablen Problem bei Aufteilung in verschiedene Class-Files Java Basics - Anfänger-Themen 4
E JAvaFX: Verschiedene Panels nach Klick auf Node des TreeView anzeigen Java Basics - Anfänger-Themen 0
T Java verschiedene Anweisungen Java Basics - Anfänger-Themen 23
W Verschiedene Bibliotheken in einer Anwendung? Java Basics - Anfänger-Themen 2
tuc Erste Schritte verschiedene objekte in einem feld speichern Java Basics - Anfänger-Themen 4
L Verschiedene Bilder per Knopfdruck anzeigen lassen Java Basics - Anfänger-Themen 17
J ArrayList über verschiedene Klassen verwenden Java Basics - Anfänger-Themen 7
P Erste Schritte durch MenuBar verschiedene Fenster öffnen Java Basics - Anfänger-Themen 2
G Datentypen verschiedene Objekte in eine ArrayList, Generics Java Basics - Anfänger-Themen 2
GoldenShadow Input/Output Verschiedene Versionen von Input/Output Java Basics - Anfänger-Themen 3
I Drucken in Java / verschiedene Papierformate Java Basics - Anfänger-Themen 0
P Verschiedene Java Versionen nutzen Java Basics - Anfänger-Themen 6
Z Was habe ich davon mit einem Datentyp verschiedene Instanzen zu haben? Java Basics - Anfänger-Themen 6
S write(), weshalb verschiedene Ausgaben? Java Basics - Anfänger-Themen 4
E Erste Schritte Verschiedene Anfängerfragen (Rekursion, Terminierung, Schleife, etc.) Java Basics - Anfänger-Themen 5
I String trennen und verschiedene Wörter holen Java Basics - Anfänger-Themen 6
B Verschiedene Objekte in 2 dimensionalem Array speichern Java Basics - Anfänger-Themen 10
S Datei ausführen, verschiedene Ordner Java Basics - Anfänger-Themen 2
O Verschiedene Farben in einer GUI Java Basics - Anfänger-Themen 15
R Klassen Mehrere/Verschiedene Objekte umcasten Java Basics - Anfänger-Themen 8
N Vererbung Verschiedene Subclasses nach cast zur Superclass unterscheiden Java Basics - Anfänger-Themen 9
S textPane verschiedene formatierungen Java Basics - Anfänger-Themen 8
K Verschiedene JDK´s paralell nutzen? Java Basics - Anfänger-Themen 3
M Verschiedene Möglichkeiten mit 'equals' abdecken? Java Basics - Anfänger-Themen 9
H 2 verschiedene Objekte in Liste mit Compareable sortieren Java Basics - Anfänger-Themen 7
G Erste Schritte Über verschiedene Datentypen iterieren. Gibt es sowas? Java Basics - Anfänger-Themen 19
N Verschiedene Klassen als Parameter elegant übergeben? Java Basics - Anfänger-Themen 4
X Listen und verschiedene Methoden Java Basics - Anfänger-Themen 6
B Zwei verschiedene Daten vergleich Java Basics - Anfänger-Themen 2
K Input/Output Verschiedene Ordner für Java u.v.m. Projekte Java Basics - Anfänger-Themen 3
G Umwandlung in verschiedene Zahlensysteme Java Basics - Anfänger-Themen 4
R Verschiedene Jar Versionen nutzen Java Basics - Anfänger-Themen 14
D Umgebungsvariable verschiedene Werte von JAVA_HOME? Java Basics - Anfänger-Themen 4
J verschiedene Anweisungen bei verschiedenen Zuständen Java Basics - Anfänger-Themen 9
F Info zwischen verschiedene Klassen austauschen Java Basics - Anfänger-Themen 4
R Input/Output verschiedene Datentypen als Bytes in Datei speichern Java Basics - Anfänger-Themen 15
Blindxantos Klassen in verschiedene Packages unterteilen Java Basics - Anfänger-Themen 2
F verschiedene Daten abspeichern Java Basics - Anfänger-Themen 13
N Verschiedene JFrames in einem JFrame anzeigen Java Basics - Anfänger-Themen 7
A Datentypen Verschiedene Threads synchronisieren Java Basics - Anfänger-Themen 3
D Mehrere verschiedene Farben pro fillRect Java Basics - Anfänger-Themen 3
M Verschiedene Werte in methoden Java Basics - Anfänger-Themen 3
K Verschiedene (Thread) Objekt-Positionen (int) in einem Array zusammenfassen Java Basics - Anfänger-Themen 3
J Verschiedene Rückgabetypen(int int char) Java Basics - Anfänger-Themen 10
S Datentypen Die verschiedene Java Datentypen [Anfänger] Java Basics - Anfänger-Themen 8
J OOP verschiedene Objekttypen ablegen Java Basics - Anfänger-Themen 4
B Welcher Feld Typ für verschiedene Datentypen? Java Basics - Anfänger-Themen 4
capgeti Verschiedene Rückgabetypen ohne Typecast möglich? Java Basics - Anfänger-Themen 7
S Verschiedene Arrays über Index aufrufen Java Basics - Anfänger-Themen 5
Developer_X in JEditorPane verschiedene Farben, verwenden Java Basics - Anfänger-Themen 7
C verschiedene Label auf Knopfdruck abrufen Java Basics - Anfänger-Themen 4
L Verschiedene Fonts für verschiedene Dialogelemente Java Basics - Anfänger-Themen 2
G Verschiedene Packages Java Basics - Anfänger-Themen 3
G Daten in verschiedene Listen schreiben Java Basics - Anfänger-Themen 5
C Zustandsanzeige durch verschiedene Klassen Java Basics - Anfänger-Themen 4
S verschiedene Versionen Java Basics - Anfänger-Themen 2
G Verschiedene Exceptions zu gleichem Block Java Basics - Anfänger-Themen 6
T verschiedene Anfängerfragen Java Basics - Anfänger-Themen 20
J Verschiedene Ausgaben bei gleichen Ausdrücken (Typecasting?) Java Basics - Anfänger-Themen 5
N Verschiedene Input/Output Klassen Java Basics - Anfänger-Themen 3
G verschiedene datentypen in arraylist Java Basics - Anfänger-Themen 14
L verschiedene JPanel-Instanzen erstellen Java Basics - Anfänger-Themen 8
L 2 verschiedene Typen in einer Tabelle ablegen Java Basics - Anfänger-Themen 18
N Problem mit Tastatureingaben für verschiedene Datentypen Java Basics - Anfänger-Themen 3
L verschiedene formuare in einem fenster öffnen Java Basics - Anfänger-Themen 8
I Array für verschiedene Datentypen? Java Basics - Anfänger-Themen 5
R verschiedene dateitypen öffnen Java Basics - Anfänger-Themen 5
L verschiedene zeichen einlesen Java Basics - Anfänger-Themen 5
C 2 verschiedene Tables = 2 verschiedene Renderer ? Java Basics - Anfänger-Themen 5
S mit Buttons verschiedene Bilder laden Java Basics - Anfänger-Themen 4
S klassen in verschiedene Dateien Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben