Variablen Problem mit return String[]

benjilein

Neues Mitglied
Hallo,

ich habe mich soeben in diesem Forum angemeldet und bin im Bezug auf die Java Programmierung ein frischling.

Ich habe geringfügige Erfahrung mit C und LabView (hier eher sinnlos...) und möchte mit nun etwas Wissen im Bereich der Java Programmierung aneignen.

Ich bedanke mich schonmal im Voraus für eure/deine Hilfe!

Problembeschreibung:
Ich frage mittels eigener Methode Benutzerdaten ab. Diese fasse ich in ein String[] Array zusammen und gebe diese wieder "return".

In einer zweiten Methode möchte ich die einzelnen Strings des Arrays benutzen. Somit starte ich die oben beschriebene Methode um die Daten einzulesen. Später werden die Daten dann ins Frame gezeichnet.

Leider werden die Abfragen ("JOptionPane.showInputDialog") nun zweimal durchgeführt. Leider komme ich nicht dahinter wo der Fehler liegt...

Die "import" Komponenten sind so viele, weil das Programm etwas größer ist. Ich habe nur den relevanten Teil herauskopiert.

Java:
import java.awt.Cursor;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionAdapter;
import java.awt.Color;
import javax.imageio.*;
import java.io.*;
import javax.swing.*;

public class Test extends JPanel
{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;


		public  String[] Benutzerdatenabfrage()
		{
			String Bearb = JOptionPane.showInputDialog("Bearbeiter:");
			String Dat = JOptionPane.showInputDialog("Bitte Stillstandsdatum eingeben:");
			String bearbeiter = "Sachbearbeiter: " + Bearb;
			String datum = "Stillstandsdatum: " + Dat;
						
			return new String[] {Datum,Bearbeiter};
		}

public void paint (Graphics g) 
		{
    
    	String[] Benutzerdaten = Benutzerdatenabfrage();
    	String Datum = Benutzerdaten[0];
    	String Bearbeiter = Benutzerdaten[1];
    	
    	super.paintComponent(g);
		Graphics2D g2 = (Graphics2D) g;
		g2.drawImage(Background, 0, 0, this);
		g.setFont(new java.awt.Font("Sans",5,20));
		g.setColor(Color.BLACK);
		g.drawString(Bearbeiter, 20, 800);
		g.drawString(Batum, 20, 820);
		}
}
 
Zuletzt bearbeitet:

Flown

Administrator
Mitarbeiter
Wo liegt das Problem, es macht genau das, was du sagst. Es ruft dir zweimal deine JOptionPane auf und dann ist gut.

Was willst du wirklich haben?

PS: Wenn du mit Swing arbeitest, dann überschreibe die paintComponent Methode und nicht die paint (das ist nämlich AWT).
PPS: In Java gilt für Variablen- und Methodenbezeichnungen camelCase. Außer Klassen/Interfaces haben einen UpperCamelCase.
 

benjilein

Neues Mitglied
Danke für die schnelle Antwort. Das Problem ist, dass die "JOptionPane.showInputDialog" insgesamt vier mal erscheint.

1. Bearbeiter:
2. Bitte Stillstandsdatum eingeben:
3. Bearbeiter:
4. Bitte Stillstandsdatum eingeben:

Es sollten aber nur die ersten zwei kommen, danach sind die Daten ja eingelesen.
 

Flown

Administrator
Mitarbeiter
Ja das ist klar, jedes mal wenn die Komponenten neu gezeichnet werden, rufst du dein String-Array ab. Das kann nicht vorhergesehen werden, wann Java entscheidet, wann neu gezeichnet wird.

Hier mal ein Beispiel, wie es nur einmal aufgerufen wird:

Java:
import java.awt.Graphics;

import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class Test {
  public static void main(String... args) {
    new Test();
  }
  
  public Test() {
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocationByPlatform(true);
    
    frame.setSize(600, 400);
    frame.add(new MyPanel());
    frame.setVisible(true);
  }
  
  class MyPanel extends JComponent {
    private static final long serialVersionUID = 1L;
    private String[] attrs;
    
    public MyPanel() {
      attrs = getAttributes();
    }
    
    private String[] getAttributes() {
      String str1 = JOptionPane.showInputDialog("Str1:");
      String str2 = JOptionPane.showInputDialog("Str2:");
      return new String[] { str1, str2 };
    }
    
    @Override
    protected void paintComponent(Graphics g) {
      super.paintComponent(g);
      for (int i = 0; i < attrs.length; i++) {
        g.drawString(attrs[i], 300, 150 + i * 20);
      }
    }
  }
}
 

Zet

Aktives Mitglied
Edith sagt: Flown war natürlich schneller



[OT]Meiner Meinung nach rufst du irgendwo ein zweites mal deine Funktion auf,
Kopiert man deinen geposteten Code, und ändert

Java:
			return new String[] {Datum,Bearbeiter};
zu Datum, bearbeiter

wird 2x Joptionpane aufgerufen.
Sicher das du nur 1x paint aufrufst?
Sicher das nicht irgendwo neu gezeichnet wird?
Sicher das du an keiner anderen stelle die Methode Benutzerdatenabfrage() verwendest?


Verfolge dein Programm doch einfach mal Schritt für Schritt mit dem Debugger, dann wirst du schon merken an welcher stelle die JOptionPanes aufgerufen werden.. :)


grüße
Zet[/OT]
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
SUPERTJB return Problem Java Basics - Anfänger-Themen 3
K Erste Schritte "return" Problem bei Rekursion Java Basics - Anfänger-Themen 8
M Problem mit boolean. Return nicht erkannt Java Basics - Anfänger-Themen 10
V Problem mit return Java Basics - Anfänger-Themen 7
K Return Problem Java Basics - Anfänger-Themen 3
A Datentypen problem return aus try-block Java Basics - Anfänger-Themen 4
B problem mit der return anweisung Java Basics - Anfänger-Themen 11
P return-Problem Java Basics - Anfänger-Themen 3
J Verständnis Problem mit return --> Klausuraufgabe Java Basics - Anfänger-Themen 4
M Problem mit return Wert Java Basics - Anfänger-Themen 5
G return Problem Java Basics - Anfänger-Themen 6
D return Problem. Java Basics - Anfänger-Themen 3
L Problem mit 2 Methoden // return? Java Basics - Anfänger-Themen 8
megachucky Kleines Problem mit dem "return" einer Methode. Java Basics - Anfänger-Themen 11
K Verständnis Problem bei Server/Client Java Basics - Anfänger-Themen 2
I WildFily - unterschiedliche Libs im Projekt verursachen Problem Java Basics - Anfänger-Themen 11
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
L Taschenrechner Problem Java Basics - Anfänger-Themen 4
I Applikationsserver (WildFly) - Zugriff auf Ressourcen.. Problem mit Pfade Java Basics - Anfänger-Themen 10
A ScheduledExecutorService problem Java Basics - Anfänger-Themen 7
marcelnedza Problem mit Weltzuweisung, JavaKarol Java Basics - Anfänger-Themen 13
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
M Erste Schritte Collatz Problem max int Java Basics - Anfänger-Themen 3
M Problem bei verschachtelter for-Schleife bei zweidimensionalen Arrays Java Basics - Anfänger-Themen 3
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
frager2345 Problem mit Methode Java Basics - Anfänger-Themen 4
L Problem bei Rechnung mit Math.pow Java Basics - Anfänger-Themen 13
A Thread-Schreibe-Lese-Problem Java Basics - Anfänger-Themen 4
sserio BigInteger Problem Java Basics - Anfänger-Themen 4
JordenJost Taschenrechner problem Java Basics - Anfänger-Themen 5
K Problem mit "Random" Java Basics - Anfänger-Themen 5
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
sserio Problem beim Anzeigen Java Basics - Anfänger-Themen 5
xanxk Problem For-Schleife mit Charakter Java Basics - Anfänger-Themen 2
L Unbekanntes Problem mit 2d Array Java Basics - Anfänger-Themen 6
sserio Liste erstellt und ein Problem mit dem Index Java Basics - Anfänger-Themen 8
sserio Schwimmen als Spiel. Problem mit to String/ generate a card Java Basics - Anfänger-Themen 4
J Schleife Problem Java Basics - Anfänger-Themen 2
D Problem mit der Erkennung von \n Java Basics - Anfänger-Themen 2
milan123 das ist meine aufgabe ich hab das problem das bei mir Wenn ich die Richtung der Linien verändern will und drei davon sind richtig, verändere ich die 4 Java Basics - Anfänger-Themen 3
M Verständins Problem bei Aufgabe Java Basics - Anfänger-Themen 4
HeiTim Problem mit der Kommasetzung an der richtigen stelle Java Basics - Anfänger-Themen 59
Temsky34 Problem mit dem Code Java Basics - Anfänger-Themen 17
P Problem mit Calendar.getDisplayName() Java Basics - Anfänger-Themen 8
C Problem mit mehreren Methoden + Scanner Java Basics - Anfänger-Themen 5
P Datei einlesen, nach Begriff filtern und in Datei ausgeben. Problem Standardausgabe über Konsole Java Basics - Anfänger-Themen 19
M Problem mit Klassenverständnis und Button Java Basics - Anfänger-Themen 8
EchtKeineAhnungManchmal hallo habe ein Problem mit einer Datei -> (Zugriff verweigert) Java Basics - Anfänger-Themen 4
H Problem mit Verzweigungen Java Basics - Anfänger-Themen 6
H Problem mit Rückgabewert Java Basics - Anfänger-Themen 7
josfe1234 JAVA FX problem Java Basics - Anfänger-Themen 3
A Code Problem Java Basics - Anfänger-Themen 6
Henri Problem von Typen Java Basics - Anfänger-Themen 7
J Problem mit "ArrayIndexOutOfBoundsException" Java Basics - Anfänger-Themen 11
K jackson Mapping - Problem mit Zeitzonen Java Basics - Anfänger-Themen 10
B Threads Problem mit mehreren Threads Java Basics - Anfänger-Themen 38
I Output BigDecimal anstatt double / Problem beim Rechnen Java Basics - Anfänger-Themen 16
D Schleifen Problem Java Basics - Anfänger-Themen 2
H So viele Fehlermeldungen, dass ich nicht weiß wo das Problem ist. Java Basics - Anfänger-Themen 6
J JAVA-Problem blockiert MEDIATHEKVIEW Java Basics - Anfänger-Themen 13
T Problem mit Lehrzeichen und String bei einfacher Chiffre Java Basics - Anfänger-Themen 8
J extends Problem Java Basics - Anfänger-Themen 2
C Polymorphie-Problem Java Basics - Anfänger-Themen 3
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
I Format Problem mit Wert - bekomme 0,10 anstatt 10,00 Java Basics - Anfänger-Themen 6
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
J Allgemeines Problem mit Klassen Java Basics - Anfänger-Themen 5
U Problem mit dem initialisieren meines Strings in einer Schleife Java Basics - Anfänger-Themen 5
amgadalghabra algorithmisches Problem Java Basics - Anfänger-Themen 19
J Traveling Salesman Problem [Arrays] Java Basics - Anfänger-Themen 9
R ArrayList Problem Java Basics - Anfänger-Themen 6
InfinityDE Problem mit Datenübergabe an Konstruktor Java Basics - Anfänger-Themen 7
C RegEx Problem Java Basics - Anfänger-Themen 4
J Anfänger TicTacToe, Problem bei Gewinnoption, sowohl Unentschieden Java Basics - Anfänger-Themen 8
E Taschenrechner GUI Problem mit Fehlerhandling Java Basics - Anfänger-Themen 6
M Input/Output Fallunterscheidung Problem Java Basics - Anfänger-Themen 17
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
M Problem bei Ausgabe Java Basics - Anfänger-Themen 7
Splayfer Java Array Problem... Java Basics - Anfänger-Themen 2
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
F Problem mit KeyListener in kombination mit dem ActionListener Java Basics - Anfänger-Themen 4
G Subset sum problem mit Backtracking Java Basics - Anfänger-Themen 18
N Problem mit Scanner Java Basics - Anfänger-Themen 2
J Klassen Problem Java Basics - Anfänger-Themen 8
A Out.format problem. Java Basics - Anfänger-Themen 3
J Problem bei der Programmierung eines Tannenbaums Java Basics - Anfänger-Themen 9
A Array problem Java Basics - Anfänger-Themen 16
2 Taschenrechner mit GUI Problem bei der Berechnung Java Basics - Anfänger-Themen 8
W Remote Method Invocation RMI - Problem Java Basics - Anfänger-Themen 0
I Ich habe ein Problem Java Basics - Anfänger-Themen 3
A Problem bei returnen eines Wertes Java Basics - Anfänger-Themen 6
M Regex Erstellung Problem Java Basics - Anfänger-Themen 2
D Input/Output Problem bei der Benutzereingabe eines Befehls Java Basics - Anfänger-Themen 14
M (Sehr großes Problem) Listen als static in anderen Klassen verwendet Java Basics - Anfänger-Themen 12
F Habe ein problem mit dem ActionListener Java Basics - Anfänger-Themen 3
C Regex-Problem Java Basics - Anfänger-Themen 4
J Problem beim vergleich von zwei Integer Java Basics - Anfänger-Themen 3
M Problem in der Modellierung Java Basics - Anfänger-Themen 20

Ähnliche Java Themen

Neue Themen


Oben