Flimmern wegen eines Thread verhindern

Status
Nicht offen für weitere Antworten.
C

CrossOver

Gast
hi leute,

ich habe ein chatProgramm geschrieben, damit ich nicht immer in den 2. stock laufen muss, um mit meinen kollegen zu quatschen!
dieses chatProgramm bezieht sich aber nicht auf server und client, ...
sondern ist ganz simpel aufgebaut:
1. in einem textField schreibt man seine nachricht
2. die nachricht wir in einer textdatei geschrieben
3. ein textArea liest die textdatei und gibt sie aus (wird mit hilfe eines threads jede sekunde aktualisiert)

das programm inkl. der textdatei liegen auf einem server.
alle benutzer die am chat teilnehmen starten einfach dieses programm.

ich hab nur ein kleines problem!
und zwar, wenn mehrere sätze im textArea stehen fangt es an zu flimmern (ist ja natürlich, wegen des threads).
gibt es eine methode, mit der ich das flimmern verringern kann?

und noch was:
das textArea befindet sich in einem scrollPane, dieses scrollt mit hilfe von
Code:
fenster.setCaretPosition(fenster.getText().length());
automatisch nach unten, da sich das textArea ständig aktualisiert!
das problem ist, wenn ich die scrollBar nach oben bewege, hüpft sie gleich wieder nach unten!
gibt es eine methode, mit der ich die scrollBar unabhängig vom textArea bewegen kann?

Code:
try
            {
              BufferedReader read = new BufferedReader(new FileReader(
                  "Chat/extras/Chat.txt"));
              String zeile;
              fenster.setText(read.readLine());
              while ((zeile = read.readLine()) != null)
              {
                fenster.setText(fenster.getText() + "\n" + zeile);
                fenster.setCaretPosition(fenster.getText().length());
              }
              read.close();
            }
            catch (FileNotFoundException err)
            {
              fenster.setText("Datei 'Chat.txt' oder konnte nicht gefunden werden!");
            }
            catch (IOException err)
            {
              fenster.setText("Es gab einen IO-Fehler beim Lesen!");
            }
            catch (Exception err)
            {
              fenster.setText("Es gab einen Fehler beim Lesen!");
            }
          }
          catch (InterruptedException e)
          {
            e.printStackTrace();
          }
        }
      }
    };
    th.start();
[/b]
 
T

tuxedo

Gast
Wenn dein Thread seine Schleife nur 1x pro Sekunde durchläuft: Wie kommt es da zu einem Flimmern? 1x pro Sekunde heisst 1Hz. Und 1Hz ist ja noch kein Flimmern.

- Alex
 
C

CrossOver

Gast
es ist so:
das textArea liest den text von der textdatei und gibt ihn aus
und jede sekunde wird der text im textArea komplett überschrieben.
deswegen kommt es zum flimmern, wenn mehrere sätze in der textdatei stehen.

irgendwer eine idee??
 
T

tuxedo

Gast
Ein 1x pro Sekunde "flimmern" ist doch kein flimmern. Vermutlich hast du noch was anderes "verbrochen". Ohne mehr Programmcode kann ich da nix zu sagen.

Deine Scroll-Sache:

Da solltest du vielleicht die mit "Ich scroll jetzt nach oben" verbundenen Events in der Scrollpane abfangen und das "fenster.setCaretPosition(fenster.getText().length());" ggf. für die Dauer des Events + Zeit X aussetzen.

- Alex
 

Saxony

Top Contributor
Typischer Ansatz für das scrollen ist das Setzen eines Scroll Locks. So zu finden zum Beispiel im Console-View bei Eclipse. ;)
 
G

Guest

Gast
Hier mal der gesamte Code:
Code:
package Chat;

import javax.swing.*;

import java.awt.*;
import java.awt.event.*;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.text.DateFormat;
import java.util.Date;

public class ChatProgramm extends JPanel implements ActionListener
{

  private JFrame         controllingFrame, frame, online;

  private JPanel         combo, anmeldung, buttons, panel1, panel2;

  private JPasswordField passwordField;

  private JLabel         comboLabel, passwordLabel, copyright, icon;

  private JTextArea      fenster, userOnline;

  private JScrollPane    fensterScroll;

  private JTextField     eingabe;

  private JButton        okButton, cancelButton, send, clear, close;

  private JComboBox      comboBox;

  private ImageIcon      picture   = createImageIcon("extras/chat.gif");

  private boolean        isCorrect = false;

  private Thread         th;

  private String         user, onlineUser;

  private String         pw1, pw2, pw3, pw4, pw5;

  public ChatProgramm()
  {
    /** create the comboLabel */
    comboLabel = new JLabel("Name:");
    comboLabel.setPreferredSize(new Dimension(58, 25));

    /** create the comboBox */
    String[] names = { "Commander", "Private Joker", "Private Paula",
        "Private Schneewittchen", "Sexy Angel" };
    comboBox = new JComboBox(names);
    comboBox.setBackground(Color.WHITE);
    comboBox.setSelectedIndex(0);
    comboBox.setPreferredSize(new Dimension(160, 25));

    /** create the passwordLabel */
    passwordLabel = new JLabel("Passwort:");
    passwordLabel.setPreferredSize(new Dimension(58, 25));

    /** create the passwordField */
    passwordField = new JPasswordField();
    passwordField.setPreferredSize(new Dimension(160, 25));
    passwordField.setActionCommand("ok");
    passwordField.addActionListener(this);

    /** create the ok button */
    okButton = new JButton("OK");
    okButton.setMnemonic(KeyEvent.VK_O);
    okButton.setPreferredSize(new Dimension(96, 25));
    okButton.setActionCommand("ok");
    okButton.addActionListener(this);

    /** create the cancel button */
    cancelButton = new JButton("Abbrechen");
    cancelButton.setMnemonic(KeyEvent.VK_A);
    cancelButton.setPreferredSize(new Dimension(96, 25));
    cancelButton.setActionCommand("cancel");
    cancelButton.addActionListener(this);

    /** create textArea */
    fenster = new JTextArea();
    fenster.setFont(new Font("Verdana", Font.PLAIN, 17));
    fenster.setEditable(false);

    /** create the scrollPane for the textArea */
    fensterScroll = new JScrollPane(fenster);
    fensterScroll.setBackground(Color.WHITE);
    fensterScroll.setBorder(BorderFactory.createTitledBorder("Chat"));
    fensterScroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
    fensterScroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
  
    /** create the textField */
    eingabe = new JTextField();
    eingabe.setActionCommand("send");
    eingabe.setFont(new Font("Verdana", Font.PLAIN, 17));
    eingabe.setPreferredSize(new Dimension(400, 27));
    eingabe.addActionListener(this);

    /** create the button send */
    send = new JButton("Send");
    send.setActionCommand("send");
    send.setMnemonic(KeyEvent.VK_S);
    send.addActionListener(this);

    /** create the button clear */
    clear = new JButton("Clear");
    clear.setActionCommand("clear");
    clear.addActionListener(this);
    clear.setVisible(false);

    /** create the button close */
    close = new JButton("Close");
    close.setActionCommand("close");
    close.setMnemonic(KeyEvent.VK_C);
    close.addActionListener(this);

    /** create the copyright */
    copyright = new JLabel("© 2008 by Simon Rummel");
    copyright.setHorizontalTextPosition(JLabel.CENTER);
    copyright.setForeground(Color.blue);

    /** create the icon label */
    icon = new JLabel();
    icon.setIcon(picture);
    
    /** create the user, who are online */
    userOnline = new JTextArea();
    userOnline.setForeground(Color.BLUE);
    userOnline.setBorder(BorderFactory.createTitledBorder("User"));
    userOnline.setFont(new Font("Verdana", Font.PLAIN, 17));
    userOnline.setEditable(false);

    /** refresh textArea and userOnline every second */
    th = new Thread()
    {
      public void run()
      {
        while (!isInterrupted())
        {
          try
          {
            Thread.sleep(1000);
            
            try
            {
              BufferedReader read = new BufferedReader(new FileReader(
                  "Chat/extras/Chat.txt"));
              String zeile;
              fenster.setText(read.readLine());
              while ((zeile = read.readLine()) != null)
              {
                fenster.setText(fenster.getText() + "\n" + zeile);
                fenster.setCaretPosition(fenster.getText().length());
              }
              read.close();

              BufferedReader on = new BufferedReader(new FileReader(
                  "Chat/extras/User.txt"));
              String wort;
              userOnline.setText(on.readLine());
              while ((wort = on.readLine()) != null)
              {
                userOnline.setText(userOnline.getText() + "\n" + wort);
              }
              on.close();
            }
            catch (FileNotFoundException err)
            {
              fenster.setText("Datei 'Chat.txt' oder 'User.txt' konnte nicht gefunden werden!");
            }
            catch (IOException err)
            {
              fenster.setText("Es gab einen IO-Fehler beim Lesen!");
            }
            catch (Exception err)
            {
              fenster.setText("Es gab einen Fehler beim Lesen!");
            }
          }
          catch (InterruptedException e)
          {
            e.printStackTrace();
          }
        }
      }
    };
    th.start();

    /** create the passwords */
    pw1 = "?";
    pw2 = "?";
    pw3 = "?";
    pw4 = "?";
    pw5 = "?";
  }

  protected static Image Icon()
  {
    java.net.URL imgURL = ChatProgramm.class
        .getResource("extras/chat_icon.gif");
    if (imgURL != null)
    {
      return new ImageIcon(imgURL).getImage();
    }
    else
    {
      return null;
    }
  }

  protected static ImageIcon createImageIcon(String path)
  {
    java.net.URL imgURL = ChatProgramm.class.getResource(path);
    if (imgURL != null)
    {
      return new ImageIcon(imgURL);
    }
    else
    {
      System.err.println("Die Datei " + path + " wurde nicht gefunden!");
      return null;
    }
  }

  public void actionPerformed(ActionEvent e)
  {
    String cmd = e.getActionCommand();

    if (cmd.equals("ok"))
    {
      String input = passwordField.getText();
      Object name = comboBox.getSelectedItem();

      if (name.equals("Commander") && pw1.equals(input))
      {
        controllingFrame.setVisible(false);
        frame.setVisible(true);
        /** add user to onlineList  */
        try
        {
          BufferedWriter write = new BufferedWriter(new FileWriter(
              "Chat/extras/User.txt", true));
          write.write("Commander\n");
          write.close();
        }
        catch (IOException err)
        {
          fenster.setText("Es gab einen IO-Fehler beim Schreiben!");
        }
        catch (Exception err)
        {
          fenster.setText("Es gab einen Fehler beim Schreiben!");
        }
        online.setVisible(true);
        isCorrect = true;
        user = "Commander";
        onlineUser = "Commander";
      }

      if (name.equals("Private Joker") && pw2.equals(input))
      {
        controllingFrame.setVisible(false);
        frame.setVisible(true);
        /** add user to onlineList  */
        try
        {
          BufferedWriter write = new BufferedWriter(new FileWriter(
              "Chat/extras/User.txt", true));
          write.write("Private Joker\n");
          write.close();
        }
        catch (IOException err)
        {
          fenster.setText("Es gab einen IO-Fehler beim Schreiben!");
        }
        catch (Exception err)
        {
          fenster.setText("Es gab einen Fehler beim Schreiben!");
        }
        online.setVisible(true);
        clear.setVisible(true);
        isCorrect = true;
        user = "Joker";
        onlineUser = "Private Joker";
      }

      if (name.equals("Private Paula") && pw3.equals(input))
      {        
        controllingFrame.setVisible(false);
        frame.setVisible(true);
        /** add user to onlineList  */
        try
        {
          BufferedWriter write = new BufferedWriter(new FileWriter(
              "Chat/extras/User.txt", true));
          write.write("Private Paula\n");
          write.close();
        }
        catch (IOException err)
        {
          fenster.setText("Es gab einen IO-Fehler beim Schreiben!");
        }
        catch (Exception err)
        {
          fenster.setText("Es gab einen Fehler beim Schreiben!");
        }
        online.setVisible(true);
        isCorrect = true;
        user = "Paula";
        onlineUser= "Private Paula";
      }

      if (name.equals("Private Schneewittchen") && pw4.equals(input))
      {       
        controllingFrame.setVisible(false);
        frame.setVisible(true);
        /** add user to onlineList  */
        try
        {
          BufferedWriter write = new BufferedWriter(new FileWriter(
              "Chat/extras/User.txt", true));
          write.write("Private Schneewittchen\n");
          write.close();
        }
        catch (IOException err)
        {
          fenster.setText("Es gab einen IO-Fehler beim Schreiben!");
        }
        catch (Exception err)
        {
          fenster.setText("Es gab einen Fehler beim Schreiben!");
        }
        online.setVisible(true);
        isCorrect = true;
        user = "Schneewittchen";
        onlineUser = "Private Schneewittchen";
      }

      if (name.equals("Sexy Angel") && pw5.equals(input))
      {
        controllingFrame.setVisible(false);
        frame.setVisible(true);
        /** add user to onlineList  */
        try
        {
          BufferedWriter write = new BufferedWriter(new FileWriter(
              "Chat/extras/User.txt", true));
          write.write("Sexy Angel\n");
          write.close();
        }
        catch (IOException err)
        {
          fenster.setText("Es gab einen IO-Fehler beim Schreiben!");
        }
        catch (Exception err)
        {
          fenster.setText("Es gab einen Fehler beim Schreiben!");
        }
        online.setVisible(true);
        isCorrect = true;
        user = "Sexy Angel";
        onlineUser = "Sexy Angel";
      }

      else if (isCorrect == false)
      {
        JOptionPane.showMessageDialog(controllingFrame, "Falsches Passwort!",
            "Fehlermeldung", JOptionPane.ERROR_MESSAGE);
        passwordField.setText("");
      }
    }

    if ("cancel".equals(cmd))
    {
      System.exit(0);
    }

    if (e.getActionCommand().equals("send"))
    {
      th.suspend();
      Date date = new Date();
      DateFormat df = DateFormat.getTimeInstance(DateFormat.MEDIUM);
      /** write */
      try
      {
        BufferedWriter write = new BufferedWriter(new FileWriter(
            "Chat/extras/Chat.txt", true));
        write.write(user + " (" + df.format(date) + "): " + eingabe.getText());
        write.newLine();
        write.close();
      }
      catch (IOException err)
      {
        fenster.setText("Es gab einen IO-Fehler beim Schreiben!");
      }
      catch (Exception err)
      {
        fenster.setText("Es gab einen Fehler beim Schreiben!");
      }
      eingabe.setText("");
      eingabe.requestFocus();
      th.resume();
    }

    if (e.getActionCommand().equals("clear"))
    {
      /** write */
      try
      {
        BufferedWriter write = new BufferedWriter(new FileWriter(
            "Chat/extras/Chat.txt", false));
        write.write("");
        write.close();
      }
      catch (IOException err)
      {
        fenster.setText("Es gab einen IO-Fehler beim Schreiben!");
      }
      catch (Exception err)
      {
        fenster.setText("Es gab einen Fehler beim Schreiben!");
      }
    }

    if (e.getActionCommand().equals("close"))
    {
      try {
          BufferedReader read = new BufferedReader(new FileReader(
              "Chat/extras/User.txt"));
          String zeile;
          int counter = 0;
          String matrix[] = new String[5];
          for (int j = 0; (zeile = read.readLine()) != null; j++) {
            if (zeile.trim().length() == 0) {
              continue;
            }
            matrix[j] = zeile;
            counter++;
          }
          read.close();
          
          /** search the above customer in the file */
          try {
            BufferedWriter out = new BufferedWriter(new FileWriter(
                "Chat/extras/User.txt", false));
            for (int del = 0; del < counter; del++) {
              if (matrix[del].equals(onlineUser)) {
                del++;
              }
              if (del < counter)
              {
                out.write(matrix[del]);
                out.newLine();
              }
            }
            out.close();
          } catch (IOException err) {
            System.err.println("\nEs gab einen IO-Fehler! XD\n");
            err.printStackTrace();
            System.exit(8);
          } catch (Exception err) {
            System.err.println("\nEs gab einen Fehler! XD\n");
            err.printStackTrace();
            System.exit(9);
          }
        } catch (FileNotFoundException err) {
          System.err
              .println("\nDatei 'User.txt' nicht vorhanden! XD\n");
          System.exit(1);
        } catch (IOException err) {
          System.err.println("\nEs gab einen IO-Fehler! XD\n");
          err.printStackTrace();
          System.exit(8);
        } catch (Exception err) {
          System.err.println("\nEs gab einen Fehler! XD\n");
          err.printStackTrace();
          System.exit(9);
        }
      System.exit(0);
    }
  }

  public void Fenster()
  {
    /** create the window */
    combo = new JPanel();
    combo.setBackground(Color.WHITE);
    combo.setLayout(new FlowLayout());
    combo.add(comboLabel);
    combo.add(comboBox);

    anmeldung = new JPanel();
    anmeldung.setBackground(Color.WHITE);
    anmeldung.setLayout(new FlowLayout());
    anmeldung.add(passwordLabel);
    anmeldung.add(passwordField);

    buttons = new JPanel();
    buttons.setBackground(Color.WHITE);
    buttons.setLayout(new FlowLayout());
    buttons.add(okButton);
    buttons.add(cancelButton);

    controllingFrame = new JFrame("Anmeldung");
    controllingFrame.setIconImage(Icon());
    controllingFrame.setPreferredSize(new Dimension(250, 140));
    controllingFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    controllingFrame.setLayout(new BorderLayout());
    controllingFrame.add(combo, BorderLayout.NORTH);
    controllingFrame.add(anmeldung, BorderLayout.CENTER);
    controllingFrame.add(buttons, BorderLayout.SOUTH);
    controllingFrame.setResizable(false);
    controllingFrame.setVisible(true);
    controllingFrame.pack();

    panel1 = new JPanel();
    panel1.setBackground(Color.WHITE);
    panel1.setLayout(new FlowLayout());
    panel1.add(eingabe);
    panel1.add(send);
    panel1.add(close);

    panel2 = new JPanel();
    panel2.setBackground(Color.WHITE);
    panel2.setLayout(new FlowLayout());
    panel2.add(copyright);
    panel2.add(icon);
    panel2.add(clear);

    frame = new JFrame("TAC - TextAreaChat");
    frame.setPreferredSize(new Dimension(600, 400));
    frame.setIconImage(Icon());
    frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    frame.setLayout(new BorderLayout());
    frame.add(panel1, BorderLayout.NORTH);
    frame.add(fensterScroll, BorderLayout.CENTER);
    frame.add(panel2, BorderLayout.SOUTH);
    frame.setVisible(false);
    frame.pack();

    online = new JFrame("Online");
    online.setPreferredSize(new Dimension(250, 180));
    online.setIconImage(Icon());
    online.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    online.add(userOnline);
    online.setVisible(false);
    online.pack();
  }

  public static void main(String[] args)
  {
    /** creating and showing this GUI */
    JFrame.setDefaultLookAndFeelDecorated(true);
    ChatProgramm start = new ChatProgramm();
    start.Fenster();
  }
}
 
T

tuxedo

Gast
Naja, okay, ich war so frei und hab mir den Code mal zu gemüte geführt.

Also, das "flimmern" ist kein "flimmern" wie man sich ein "flimmern" vorstellt. Das hat auch nix mit dem Thread zu tun. Der kann da nix für.

Schuld ist deine Programmlogik. Das ganze "flimmert" deshalb im 1Hz Takt, weil du pro Sekunden das ganze Textfenster einmal leerst und neu aufbaust.

Vielleicht solltest du folgendes machen:

1) Textdatei komplett in String einlesen
2) Vergleichen des Inhalts des Text-Fensters mit dem String. Wenn sich diese Unterscheiden -> Text im Textfeld aktualisieren, wenn nicht: Nix tun.

Dann "flimmerts" nur noch wenn jemand was geschrieben hat und sonst nicht. Gibt noch elegantere Lösungen. Aber da darfst du dir selbst erstmal gedanken drüber machen.

Gruß
Alex

P.S. Es reicht die Zeilen zwischen 154 und 161 anzupassen. Nur so als kleiner Tipp.
 

Saxony

Top Contributor
Bastel dir irgendwo noch ne CheckBox hin.

Code:
JCheckBox scrollLock = new JCheckBox("Scroll Lock");
[...]
if(!scrollLock.isSelected()) fenster.setCaretPosition(fenster.getText().length());

Das löst erstmal das Scrolling-Problem recht unkompliziert.

bye Saxony
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Icons flimmern Allgemeine Java-Themen 6
O Java-Applikation tut in Netbeans, als JAR nicht, wegen Pfadangaben einer benötigten Datei Allgemeine Java-Themen 8
L Übergabe an eine eher einfache Java- Applikation wegen Kündigung Allgemeine Java-Themen 1
H Frage wegen Heap-Speicher Allgemeine Java-Themen 2
xehpuk clone() wegen leerem Cloneable quasi nutzlos? Allgemeine Java-Themen 6
I EDT scheint zu blocken wegen Dateioperation in anderem Thread Allgemeine Java-Themen 9
B jar File macht probleme wegen einer Methode! Allgemeine Java-Themen 5
F Frage wegen Tasks Allgemeine Java-Themen 2
L Programm läßt sich wegen Java unter Linux nicht starten Allgemeine Java-Themen 4
D jdk fehlermeldung probleme wegen der partition? Allgemeine Java-Themen 10
S Alternative zu Robot (wegen Umlauten) Allgemeine Java-Themen 13
P java high cpu load wegen endlosschleife Allgemeine Java-Themen 6
S SWING UND AWT!Problem wegen Canvas! Allgemeine Java-Themen 29
M Performanceproblem wegen ständiger Skriptausführung Allgemeine Java-Themen 3
C frage wegen arrays Allgemeine Java-Themen 8
C frage wegen jar Allgemeine Java-Themen 9
O regulärer Ausdruck zum durchsuchen eines Strings verwenden Allgemeine Java-Themen 2
T Rotationswinkel eines Bildes bestimmen Allgemeine Java-Themen 4
C Probleme beim Erstellen eines runnable-jar files Allgemeine Java-Themen 1
J JavaScript innerhalb eines Java Projekts ausführen Allgemeine Java-Themen 2
Encera Größe eines Objektes in Byte berechnen Allgemeine Java-Themen 2
8u3631984 Prüfen ob min. ein Element eines Sets in einem anderen Set enh Allgemeine Java-Themen 4
M Array Rang eines Elements Allgemeine Java-Themen 4
OnDemand Teile eines Links entfernen Allgemeine Java-Themen 6
H Auslesen eines (LDAP-)Attributs in Active Directory Allgemeine Java-Themen 2
W JSON parsen eines ,mit JS.stringify erstellten Strings Allgemeine Java-Themen 27
H Textposition eines gedrehten Textes verschieben Allgemeine Java-Themen 8
berserkerdq2 run-methode eines Threads so programmieren, dass 30x die Sekunde etwas ausgeführt wird. Allgemeine Java-Themen 44
E Ersetzen eines Bildes in der Kopfzeile eines Word-Docx-Dokuments mit Apache POI XWPF Allgemeine Java-Themen 0
N Fahrtrichtung eines selbstfahrenden Auto ändern Allgemeine Java-Themen 3
T Letztes Zeichen eines Strings enfernen Allgemeine Java-Themen 14
S Übergabe eines Sortierkriteriums für ein Artikel Array mittels BiPredicate<Artikel, Artikel> Allgemeine Java-Themen 13
gotzi242 Schatzsuche mithilfe eines O(log n) Algorithmus Allgemeine Java-Themen 2
C Koordinaten LONG/LAT eines neuen Punktes in bestimmter Entfernen und Winkel berechnen Allgemeine Java-Themen 3
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
LimDul Direktes return eines Array geht nicht Allgemeine Java-Themen 20
S Mittelwert anhand eines Stream berechnen Allgemeine Java-Themen 5
kodela Breite eines erweiterten Monitors feststellen Allgemeine Java-Themen 5
R Zeilen eines 2d Arrays abwechselnd links und rechts mit Nullen auffüllen Allgemeine Java-Themen 14
Zrebna Alternative Darstellung eines Codesnippets Allgemeine Java-Themen 33
kodela Inhalt eines Arrays ändert sich mysteriös Allgemeine Java-Themen 2
bueseb84 Wget mit Wildcards - oder wie lädt man bei JFrog die letzte Version eines Artifacts herunter Allgemeine Java-Themen 3
N Erkennen eines Programs Allgemeine Java-Themen 2
N Pausieren eines Programmes Allgemeine Java-Themen 4
D Input/Output Implementierung eines CommandHandlers/Parsers für viele Eingaben Allgemeine Java-Themen 26
M Gibt es eine API die den aktuellen Wert eines Indikators beim Trading zurückgibt? Allgemeine Java-Themen 7
F Wie bekommt man alle Filenamen eines Webserver Verzeichnisses Allgemeine Java-Themen 6
A Fehler beim Öffnen eines Projekts Allgemeine Java-Themen 6
N Eigenschaften eines Buttons per Setter verändern Allgemeine Java-Themen 5
S Ausfuehrung eines Programms aufzeichnen..? Allgemeine Java-Themen 4
X Ermittlung eines doppelte Paars mit Streams Allgemeine Java-Themen 50
Stonie Prüfen von direkter Implementierung eines Interfaces Allgemeine Java-Themen 7
S Vorbereitung eines Praktikums Allgemeine Java-Themen 4
H Aufruf eines Web Service anhand übergebenen Parameter Allgemeine Java-Themen 2
M Weiterleiten von empfangenen Nachrichten eines StompSessionHandlers Allgemeine Java-Themen 1
J Programm zum Suchen eines Wortes im Dateisystem Allgemeine Java-Themen 4
H Rename eines Projekts Allgemeine Java-Themen 1
J Fenstergröße eines anderen Programmes auslesen Allgemeine Java-Themen 9
ReinerCoder auf Klassen innerhalb eines package zugreifen Allgemeine Java-Themen 22
Meeresgott Erste Schritte Sourcetree - Git | Suchen eines Commits Allgemeine Java-Themen 2
E Status eines USB Mikrofon abfragen Allgemeine Java-Themen 2
DaCrazyJavaExpert OOP Ansätze und Tipps zum Porgrammieren eines Taschenrechners Allgemeine Java-Themen 25
A OOP Problem beim Berechnen der größten Fläche eines Ringes Allgemeine Java-Themen 19
JavaNewbie2.0 Start eines Anderen Programm erkennen Allgemeine Java-Themen 6
I Verbindung eines Java-Plugins mit Webserver Allgemeine Java-Themen 3
L Auswertung eines Testes funktioniert nicht Allgemeine Java-Themen 37
G Iteratoren - Wie kann man mithilfe von Iteratoren nur jeden zweiten Wert eines TreeSets ausgeben? Allgemeine Java-Themen 4
GreenTeaYT Elemente eines 2Dim LinkedList von links nach rechts ausgeben? Allgemeine Java-Themen 0
B Spalten eines 2d-Arrays Allgemeine Java-Themen 2
M Rechenprogramm eines wissenschaftlichen Taschenrechners Allgemeine Java-Themen 4
S Eigenschaften (hier Verknüpfung) eines Files lesen Allgemeine Java-Themen 2
E Typüberprüfung eines chars Allgemeine Java-Themen 5
H Hilfe bei Erstellung eines Hilfe Fenster bei Tastendruck (F1 bei Win98) Allgemeine Java-Themen 5
T Teile eines Double-Wertes verändern Allgemeine Java-Themen 2
R Rückgabe eines Arrays durch Funktion Allgemeine Java-Themen 9
H Datentypen Typ eines Arrays überprüfen Allgemeine Java-Themen 9
RalleYTN DPI eines Bildes ändern Allgemeine Java-Themen 4
N Methoden Methoden einer Klasse auf Grundlage eines Strings aufrufen Allgemeine Java-Themen 6
K Bestimmten Bereich eines Strings lesen Allgemeine Java-Themen 6
C -Verschiedene Versionen eines Programms verwalten Allgemeine Java-Themen 7
O Datentypen Erstellung eines Containers, der verschachtelte Map-Strukturen beherbergen kann Allgemeine Java-Themen 0
A einmalige Ausführung eines Methodenabschnittes Allgemeine Java-Themen 3
F CPU Last eines Thread ausfindig machen Allgemeine Java-Themen 0
L Menge der Buchstaben eines Textes zählen Allgemeine Java-Themen 3
F Teil eines Bildes laden Allgemeine Java-Themen 1
Neumi5694 Operatoren regEx für das Erstellen eines Strings verwenden Allgemeine Java-Themen 3
P Löschen eines keys in einer SortedMap Allgemeine Java-Themen 5
RalleYTN Input/Output URL eines Zip Entry? Allgemeine Java-Themen 2
S Alle Methodenaufrufe eines Threads notieren..? Allgemeine Java-Themen 7
J NullPointerExeption bei Inizialisierung eines Arrays Allgemeine Java-Themen 3
I Setzen und Lesen eines Objektes (Enum?) Allgemeine Java-Themen 10
L Implementierung eines AVT-Baums Allgemeine Java-Themen 2
D Größe der Zahlenkombinationen eines Arrays begrenzen Allgemeine Java-Themen 3
D Objekt entlang eines Funktionsgraphens bewegen Allgemeine Java-Themen 6
B Existenz eines Files max 30 sec prüfen Allgemeine Java-Themen 5
U Koordinaten alle Pixel eines Dreiecks zeichnen ausgeben Allgemeine Java-Themen 5
P Wie funktioniert das Feedback eines Klicks auf eine Java GUI Allgemeine Java-Themen 10
thet1983 nach teilen eines Dateinamens suchen Allgemeine Java-Themen 6
T Bezeichnung eines Objektes mit String/int kombinieren Allgemeine Java-Themen 3
Z Auswerten eines eingegeben Termes Allgemeine Java-Themen 13

Ähnliche Java Themen

Neue Themen


Oben