Programmieren einer Agenda mit einer Liste (als Applet und .txt zum Speichern)

A

ANFÄNGER1267

Gast
Hallo zusammen,
ich möchte ein Agenda-Applet programmieren. Als Grundlage habe ich eine vorgegebene Liste, die als Input Objekte hat. Desweiteren habe ich eine String-Liste, die nur mit Strings "gefüttert" wird.
Als Datenbank habe ich eine txt-Datei. Das Auslesen der Datei (in der init() ) funktioniert einwandfrei, aber das abspeichern meiner Liste funktioniert leider garnicht.
Das Abspeichern soll über ein ActionEvent geschehen (JButton).

Hier der Code meiner Agenda-Class

Java:
import java.awt.*;
import javax.swing.*;
import java.util.*;
import java.awt.Color.*;
import java.awt.event.*;
import java.io.*;

/**
 * Tragen Sie hier eine Beschreibung der Applet-Klasse agenda ein.
 *
 * @author (Ihr Name) 
 * @version (eine Versionsnummer oder ein Datum)
 */
public class agenda extends JApplet
{
  private List liste;
  private Stringliste stringliste;
  private JPanel listPanel;
  private JPanel befehlsleiste;
  private JPanel einAusgabeBereich;
  private JPanel obererBereich;
  
  private JButton isEmpty;
  private JButton insert;
  private JButton hasAccess;
  private JButton append;
  private JButton setObject;
  private JButton getObject;
  private JButton getNumber;
  private JButton next;
  private JButton toFirst;
  private JButton toLast;
  private JButton remove;
  private JButton insertionSort;
  private JButton insort;
  private JButton umkehren;
  
  private JTextField einAusgabe;
  private JLabel einAusgabeText;
  
  private JMenuBar Menu;
  private JMenu Datei;
  private JMenuItem Beenden;
  private JScrollPane scrollPane;
  
  private JButton speichern;
  private FileWriter fw; 
  private BufferedWriter bw; 


  
  
    /**
     * Wird vom Browser oder Applet-Viewer aufgerufen, um dieses Applet darüber 
     * zu informieren, dass es in das System geladen wurde. Wird stets vor dem
     * ersten Aufruf der start-Methode aufgerufen.
     */
    public void init()
    {

        // Workaround für einen Sicherheitskonflikt mit einigen Browsern wie
        // einige Versionen von Netscape & Internet Explorer, die keinen Zugriff
        // auf die AWT-Systemevent-Queue erlauben, wie ihn JApplets beim Starten
        // vornehmen. Ist für Ihren Browser möglicherweise unnötig.
        JRootPane rootPane = this.getRootPane();    
        rootPane.putClientProperty("defeatSystemEventQueueCheck", Boolean.TRUE);
    
        // tragen Sie hier die Initialisierungen ein, die Ihr Applet benötigt

   
     this.setLayout(new BorderLayout());
     this.setSize(500,500);
     this.setVisible(true);
   
     Menu = new JMenuBar();
     Datei = new JMenu();
     Beenden = new JMenuItem();
     
  //   Menu.add(Datei);
     
     Datei.add(Beenden);
     Datei.setText("Datei");
     
     Beenden.setText("Beenden");
     Beenden.addActionListener(new ActionListener(){
         public void actionPerformed(ActionEvent e){
          System.exit(0); 
            }});
     
     obererBereich=new JPanel(new BorderLayout());
     obererBereich.add(Menu, BorderLayout.NORTH);
     
     liste=new List();
     stringliste=new Stringliste();
     
     listPanel=new JPanel();
     listPanel.setLayout(new BoxLayout(listPanel, BoxLayout.Y_AXIS));
     this.add(listPanel, BorderLayout.CENTER);
     listPanel.setVisible(true);
     
     einAusgabeBereich=new JPanel(new FlowLayout());
     
     einAusgabe= new JTextField();
     einAusgabe.setPreferredSize(new Dimension(100,20));
     
     einAusgabeText=new JLabel("Ein-/Ausgabe:");
     einAusgabeBereich.add(einAusgabeText);
     einAusgabeBereich.add(einAusgabe);
     scrollPane = new JScrollPane();
     scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
     scrollPane.setPreferredSize(new Dimension(400, 500));
     this.add(scrollPane, BorderLayout.EAST);
     this.add(einAusgabeBereich, BorderLayout.SOUTH);
     scrollPane.getViewport().add(listPanel);
     speichern=new JButton("Speichern");
     

     einAusgabeBereich.add(speichern, BorderLayout.SOUTH);
     einAusgabeBereich.setVisible(true);
     repaint();
     
     
     befehlsleiste=new JPanel(new GridLayout());
     befehlsleiste.setPreferredSize(new Dimension(500,50));
     isEmpty = new JButton("IsEmpty");
     isEmpty.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent e) {
         String ausgabetext;
         if(liste.isEmpty()){
             ausgabetext="true";
            }
            else{
                ausgabetext="false";
            }
            einAusgabe.setText(ausgabetext);
            einAusgabeBereich.setVisible(true);
            repaint();
        } }
        );
        
    //    befehlsleiste.add(isEmpty);
        
        hasAccess=new JButton("hasAccess");
        hasAccess.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                String ausgabetext;
                if(liste.hasAccess()){
                    ausgabetext="true";
                }
                else{
                    ausgabetext="false";
                }
                
                einAusgabe.setText(ausgabetext);
                einAusgabeBereich.setVisible(true);
                repaint();
               }  }
        );
     //   befehlsleiste.add(hasAccess);
        
        next = new JButton("next");
        next.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                if(liste.hasAccess()){
                    ((JLabel) liste.getObject()).setBackground(Color.LIGHT_GRAY);
                    ((JLabel) liste.getObject()).setOpaque(true);
                    ((JLabel) liste.getObject()).setVisible(true);
                    }
                    liste.next();
                    stringliste.next();
                if(liste.hasAccess()){
                    ((JLabel) liste.getObject()).setBackground(Color.RED);
                    ((JLabel) liste.getObject()).setOpaque(true);
                    ((JLabel) liste.getObject()).setVisible(true);    
                    }
                    einAusgabeBereich.setVisible(true);
                    repaint();
                
            }}
            );
        befehlsleiste.add(next);
        setObject = new JButton("setObject");
        setObject.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                if(liste.hasAccess()){
                    ((JLabel) liste.getObject()).setText(einAusgabe.getText());
                    ((JLabel) stringliste.getObject()).setText(einAusgabe.getText());
                }
                einAusgabeBereich.setVisible(true);
                repaint();
            }  }
            );
         befehlsleiste.add(setObject);
         
         getObject = new JButton("getObject");
         getObject.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                if(liste.hasAccess()){
                   einAusgabe.setText( ((JLabel) liste.getObject()).getText() );
                }
                einAusgabeBereich.setVisible(true);
                repaint();
            }  }
            );         
     //    befehlsleiste.add(getObject);
         
         toFirst = new JButton("toFirst");
         toFirst.addActionListener(new ActionListener(){
             public void actionPerformed(ActionEvent e){
                 if(liste.hasAccess()){
                     ((JLabel) liste.getObject()).setBackground(Color.LIGHT_GRAY);
                     ((JLabel) liste.getObject()).setOpaque(true);
                     ((JLabel) liste.getObject()).setVisible(true);
                    }
                    liste.toFirst();
                    stringliste.toFirst();
                  if(liste.hasAccess()){
                      ((JLabel) liste.getObject()).setBackground(Color.RED);
                      ((JLabel) liste.getObject()).setOpaque(true);
                      ((JLabel) liste.getObject()).setVisible(true);
                    }
                    einAusgabeBereich.setVisible(true);
                    repaint();
                }
        }
                );
                
                befehlsleiste.add(toFirst);
            
            toLast=new JButton("toLast");
            toLast.addActionListener(new ActionListener(){
             public void actionPerformed(ActionEvent e){
                 if(liste.hasAccess()){
                     ((JLabel) liste.getObject()).setBackground(Color.LIGHT_GRAY);
                     ((JLabel) liste.getObject()).setOpaque(true);
                     ((JLabel) liste.getObject()).setVisible(true);
                    }
                    liste.toLast();
                    stringliste.toLast();
                  if(liste.hasAccess()){
                      ((JLabel) liste.getObject()).setBackground(Color.RED);
                      ((JLabel) liste.getObject()).setOpaque(true);
                      ((JLabel) liste.getObject()).setVisible(true);
                    }
                    einAusgabeBereich.setVisible(true);
                    repaint();
                }
        }
                );
            befehlsleiste.add(toLast);
            
            append = new JButton("append");
            append.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    JLabel tempLabel = new JLabel();
                    tempLabel.setText(einAusgabe.getText());
                    liste.append(tempLabel);
                    stringliste.append(tempLabel.getText());
                    tempLabel.setBackground(Color.LIGHT_GRAY);
                    tempLabel.setOpaque(true);
                    tempLabel.setVisible(true);
                    listPanel.add(tempLabel);
                    listPanel.setVisible(true);
                    einAusgabeBereich.setVisible(true);
                    repaint();
                    validate();
                }}
                );
                befehlsleiste.add(append);
                
        
       
       
                           
      

            
            
            remove = new JButton("remove");
            remove.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    if(liste.hasAccess()){
                        listPanel.remove((JLabel) liste.getObject());
                        liste.remove();
                        stringliste.remove();
                        listPanel.repaint();
                        einAusgabeBereich.setVisible(true);
                        validate();

                    }
                }   }
                );
              befehlsleiste.add(remove);
            

              
              obererBereich.add(befehlsleiste, BorderLayout.CENTER);
              befehlsleiste.setVisible(true);
            
            this.add(obererBereich, BorderLayout.NORTH);
    
            this.setVisible(true);
            try{
            FileReader fr = new FileReader("inhalt.txt");
            BufferedReader br = new BufferedReader(fr);
            String zeile;
            
            while((zeile=br.readLine())!=null )
            {
            append(zeile);
            
            }
            br.close();
            fr.close();
        }catch(IOException b){}
            
    }
             public void append(String s)
             {
                    JLabel tempLabel = new JLabel();
                    tempLabel.setText(s);
                    liste.append(tempLabel);
                    stringliste.append(tempLabel.getText());
                    tempLabel.setBackground(Color.LIGHT_GRAY);
                    tempLabel.setOpaque(true);
                    tempLabel.setVisible(true);
                    listPanel.add(tempLabel);
                    listPanel.setVisible(true);
                    einAusgabeBereich.setVisible(true);
                    repaint();
                    validate();
                
                }
    /**
     * Wird vom Browser oder Applet-Viewer aufgerufen, um dieses Applet darüber 
     * zu informieren, dass es seine Ausführung beginnen soll. Wird nach der
     * init-Methode aufgerufen, und jedes Mal, wenn das Applet auf einer Webseite
     * wieder besucht wird.
     */
    public void start()
    {
     speichern.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent e) {
     
          speichern();
        }
    }
    );        

    }

    /** 
     * Wird vom Browser oder Applet-Viewer aufgerufen, um dieses Applet darüber 
     * zu informieren, dass es seine Ausführung beenden soll. Wird aufgerufen,
     * wenn die Webseite, die dieses Applet enthält, durch eine andere ersetzt
     * wurde, und auch unmittelbar bevor das Applet zerstört wird. Wenn es keine
     * Ressourcen gibt, die Sie freigeben müssen (wie etwa Threads, die Sie 
     * anhalten wollen), können Sie diese Methode entfernen.
     */
    public void stop()
    {
         
    }

    /**
     * Wird vom Browser oder Applet-Viewer aufgerufen, um dieses Applet darüber 
     * zu informieren, dass es zurückgefordert wird und dass es jegliche 
     * Ressourcen zerstören soll, die es angelegt hat. Die stop-Methode wird
     * stets vor der destroy-Methode aufgerufen.
     */
    public void destroy()
    {
             
    }


    /**
     * Liefert Informationen über dieses Applet.
     * Ein Applet sollte diese Methode überschreiben, um einen String zu liefern,
     * der Informationen über Autor, Version und Copyright des Applets enthält.
     *
     * @return Informationen über dieses Applet in Form eines Strings
     */
    public String getAppletInfo()
    {
        // ersetzten Sie dies mit Ihren eigenen Informationen
        return "Titel:   \nAutor:   \nEine einfache Beispielbeschreibung des Applets. ";
    }


    /**
     * Liefert Informationen über die Parameter, die von diesem Applet verstanden
     * werden. Sie sollten ein Array von Strings zurückgeben mit Details, getrennt
     * nach Parametern.
     * Jedes Element des Arrays sollte eine Menge von drei Strings sein, die den 
     * Namen, den Typ und eine Beschreibung des Parameters darstellen.
     *
     * @return  Parameterinformation zu diesem Applet in Form eines String[][] Arrays 
     */
    public String[][] getParameterInfo()
    {
        // Parameterinformationen zu diesem Applet liefern
        String paramInfo[][] = {
             {"ersterParameter", "1-10", "Beschreibung des ersten Parameters"},
             {"zweiterParameter", "boolean", "Beschreibung des zweiten Parameters"}
        };
        return paramInfo;
    }

   public void speichern()
   {
    stringliste.toFirst();
    liste.toFirst();
          try{
          fw=new FileWriter("inhalt.txt");
          bw=new BufferedWriter(fw);
          while(stringliste.hasAccess())
          {
            String s=stringliste.getString();
            bw.write(s);
            liste.next();
           }
            bw.close();
            fw.close();
        }catch(IOException a){}
    
    }
   
}

Hier die List-Class. Die StringListe erbt von der List-Class und verwendet die gleichen Methoden.

Java:
/**
 * <p>Materialien zu den zentralen
 * Abiturpruefungen im Fach Informatik ab 2012 in 
 * Nordrhein-Westfalen.</p>
 * <p>Klasse List</p>
 * <p>Objekte der Klasse List verwalten beliebig viele, 
 * linear angeordnete Objekte. Auf hoechstens ein Listenobjekt, 
 * aktuelles Objekt genannt, kann jeweils zugegriffen werden. 
 * Wenn eine Liste leer ist, vollstaendig durchlaufen wurde oder 
 * das aktuelle Objekt am Ende der Liste geloescht wurde, gibt es 
 * kein aktuelles Objekt. Das erste oder das letzte Objekt einer 
 * Liste koennen durch einen Auftrag zum aktuellen Objekt gemacht werden. 
 * Au�erdem kann das dem aktuellen Objekt folgende Listenobjekt 
 * zum neuen aktuellen Objekt werden. Das aktuelle Objekt kann gelesen, 
 * veraendert oder geloescht werden. Ausserdem kann vor dem aktuellen 
 * Objekt ein Listenobjekt eingef�gt werden.
</p>
 * 
 * <p>NW-Arbeitsgruppe: Materialentwicklung zum Zentralabitur 
 * im Fach Informatik</p>
 * 
 * @version 2010-10-22
 */
 

public class List

{ 
   protected Node first, tail, current;

    // Node
   protected class Node { 
        private Object contentObj;
        private Node nextNode;

        public Node(Object pContent) { 
            contentObj = pContent;
            nextNode = null;
        }

        public void setContent(Object pContent) { 
            contentObj = pContent; 
        }

        public Object content() { 
            return contentObj; 
        }

        public void setNext(Node pNext) { 
            nextNode = pNext; 
        }

        public Node getNext() { 
            return nextNode; 
        }

    } // Ende der Klasse Node
 
    /**
     * Eine leere Liste wird erzeugt.
     */
    public List () {
        tail = new Node(null); // Dummy
        first=tail;
        tail.setNext(tail);
        /* Der next-Zeiger des hinteren Dummy-Elementes
         * zeigt auf das vorangehende Element.
         */
        current=first;
    }
  
    /**
     * Die Anfrage liefert den Wert true, wenn die Liste 
     * keine Objekte enthaelt, sonst liefert sie den Wert false.
     * @return true, wenn die Liste leer ist, sonst false
     */
    public boolean isEmpty() { 
        return first==tail; 
    }
 
    /**
     * Die Anfrage liefert den Wert true, wenn es ein
     * aktuelles Objekt gibt, sonst 
     * liefert sie den Wert false.
     * @return true, falls Zugriff moeglich, sonst false
     */
    public boolean hasAccess() { 
        return (!this.isEmpty()) && (current!=tail);
    }
  
    /**
     * Falls die Liste nicht leer ist, es ein aktuelles 
     * Objekt gibt und dieses nicht das letzte Objekt der 
     * Liste ist, wird das dem aktuellen Objekt in der Liste 
     * folgende Objekt zum aktuellen Objekt, andernfalls gibt 
     * es nach Ausf�hrung des Auftrags kein aktuelles Objekt, 
     * d.h. hasAccess() liefert den Wert false.
     */
    public void next() { 
        if (this.hasAccess())
            current = current.getNext();
    }
 
    /**
     * Falls die Liste nicht leer ist, wird das erste 
     * Objekt der Liste aktuelles Objekt. 
     * Ist die Liste leer, geschieht nichts.
     */
    public void toFirst() {
        if (!this.isEmpty())  
            current = first; 
    }
 
    /**
     * Falls die Liste nicht leer ist, wird das 
     * letzte Objekt der Liste aktuelles Objekt. 
     * Ist die Liste leer, geschieht nichts.
     */
    public void toLast() {
        if (!this.isEmpty())  
            current = tail.getNext(); 
    }

    /**
     * Falls es ein aktuelles Objekt gibt 
     * (hasAccess() == true), wird das aktuelle Objekt 
     * zurueckgegeben, andernfalls (hasAccess()== false) 
     * gibt die Anfrage den Wert null zurueck.
     * @return Inhaltsobjekt
     */
    public Object getObject() {   
        if (this.hasAccess())
            return current.content();
        else 
            return null;
    }
 
    /**
     * Falls es ein aktuelles Objekt gibt (hasAccess() == true)
     * und pObject ungleich null ist, wird das aktuelle Objekt 
     * durch pObject ersetzt. Sonst bleibt die Liste unveraendert.
     * @param pObject Inhaltsobjekt
     */
    public void setObject(Object pContent) { 
        if (pContent!=null && this.hasAccess() )
            current.setContent(pContent); 
    }

    /**
     * Ein neues Objekt pObject wird am Ende der Liste eingefuegt. 
     * Das aktuelle Objekt bleibt unveraendert. Wenn die Liste 
     * leer ist, wird das Objekt pObject in die Liste eingefuegt 
     * und es gibt weiterhin kein aktuelles Objekt 
     * (hasAccess() == false). Falls pObject gleich null ist, 
     * bleibt die Liste unveraendert. 
     *@param pObject Inhaltsobject
     */    
    public void append (Object pObject) { 
        if (pObject != null) {  
            Node lNewNode,lPos0;
            lPos0=current;
            lNewNode=new Node(pObject);
            lNewNode.setNext(tail);
            if (this.isEmpty())
                first=lNewNode;
            else {  
                Node lPrevious=tail.getNext();
                lPrevious.setNext(lNewNode);
            }  
            tail.setNext(lNewNode);
            current=lPos0;
        }
    }  

    /**
     *Falls es ein aktuelles Objekt gibt (hasAccess() == true),
     *wird ein neues Objekt vor dem aktuellen Objekt in die 
     *Liste eingefuegt. Das aktuelle Objekt bleibt unveraendert. 
     *Wenn die Liste leer ist, wird pObject in die Liste eingefuegt
     *und es gibt weiterhin kein aktuelles Objekt 
     *(hasAccess() == false). Falls es kein aktuelles Objekt gibt 
     *(hasAccess() == false) und die Liste nicht leer ist oder 
     *pObject gleich null ist, bleibt die Liste unveraendert.
     *@param pObject Inhaltsobjekt
     */
    public void insert(Object pObject) {
        if (pObject != null) {
            Node lNewNode,lFront,lPos,lPos0;
            if (this.isEmpty())
                this.append(pObject);
            else 
            if (this.hasAccess() ) {
                lPos0=current;
                lPos=current;
                lNewNode=new Node(pObject);
                lNewNode.setNext(current);
                if (lPos == first )
                    first=lNewNode;
                else {
                    this.toFirst();
                    lFront=current;
                    while (this.hasAccess() & !(current == lPos)) {
                        lFront = current;
                        this.next();
                    }
                    lFront.setNext(lNewNode);  
                }          
                current=lPos0;
            }
        }
    }

    /**
     * Die Liste pList wird an die Liste angehaengt. Anschliessend 
     * wird pList eine leere Liste. Das aktuelle Objekt bleibt unveraendert. 
     * Falls pList null oder eine leere Liste ist, bleibt die Liste 
     * unveraendert.
     * @param pList Liste
     */
    public void concat(List pList) { 
        Node lCurrent1,lCurrent2,lPos0;
        if (pList != null && !pList.isEmpty() ) {
            lPos0=current;  
            current=tail.getNext();
            lCurrent1=current;
            pList.toFirst();
            current=pList.current;
            lCurrent2=pList.current;
            lCurrent1.setNext(lCurrent2);
            if (lPos0!=tail)
                current=lPos0;
            else 
                current=pList.tail;
            tail=pList.tail;
            // pList wird zur leeren Liste
            pList.tail = new Node(null); // Dummy
            pList.first=pList.tail;
            pList.tail.setNext(tail);
            pList.current=pList.tail;
        }
    }  

    /**
     * Falls es ein aktuelles Objekt gibt (hasAccess() == true),
     * wird das aktuelle Objekt geloescht und das Objekt hinter 
     * dem gelaeschten Objekt wird zum aktuellen Objekt. Wird das 
     * Objekt, das am Ende der Liste steht, geloescht, gibt es kein 
     * aktuelles Objekt mehr (hasAccess() == false). Wenn die Liste 
     * leer ist oder es kein aktuelles Objekt gibt (hasAccess() == false),
     * bleibt die Liste unveraendert.
     */
    public void remove() { 
        Node lPos, lFront;
        if (this.hasAccess() ) {
            if (current==first ) {
                first=current.getNext();
                if (current.getNext()==tail)
                    tail.setNext(first);
                current=first;  
            }
            else {
                lPos=current;
                this.toFirst();
                lFront=current;
                while (this.hasAccess() & !(current==lPos)) {
                    lFront=current;
                    this.next();
                }
                lFront.setNext(lPos.getNext());
                current=lFront.getNext();
                if (current==tail)
                    tail.setNext(lFront);
            }  
        }
    }
    
    public Node getcurrent()
    {
     return current;
    }

}
 
G

Gast2

Gast
"Funktioniert nicht" heißt? Fehlermeldung?

Eine eigene Klasse List nennen sollte man nicht machen, da es den Namen schon im java.awt und java.util package gibt. Grade wenn man sowas macht:
Java:
import java.awt.*;
[...]
import java.util.*;
[...]
private List liste;
[...]
Welche List-Klasse wird da jetzt verwendet? Die aus dem awt package, die aus dem util package oder womöglich doch die eigene?
 
A

ANFÄNGER1267

Gast
Die eigene List-Klasse habe ich doch gepostet :)
Diese funktioniert auch wunderbar. Das Problem ist, dass das speichern dieser Liste einfach nicht ausgeführt wird.
Es gibt keinen Fehler, sondern es passiert einfach nichts. Das interessante dabei ist, dass wenn ich in der Methode einen Befehl einfüge, dass der ieinen Hintergrund farbig machen soll, dass dies geschieht. Folgerlich wird die Methode ausgeführt, doch das Speichern übersprungen. Gibt es da bestimmte Gründe für ?

Also die Datei dürfte beim Speichern nicht mehr anders geöffnet sein, da ich die Reader wieder mit close() geschlossen habe.
 
G

Gast2

Gast
Java:
}catch(IOException a){}
Und da lässte dir vllt mal die Exception ausgeben.
 

L-ectron-X

Gesperrter Benutzer
Applets dürfen nichts auf dem Client speichern, es sei denn, sie sind signiert worden.
Wenn dein Applet also eine AccessControlException wirft, solltest du mal die FAQ besuchen und dein Applet mit dem dort zu findenden Tool signieren.
 

Michael...

Top Contributor
Der Code des Applets wird zwar auf dem Server zur Verfügung gestellt. Das Applet läuft aber in der VM des Clients. Eine Kommunikation mit dem Server ist über die üblichen Netzwerktechnologien möglich. So spontan fallen mir da Sockets, RMI, WebServices... ein.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Swing Kugel/Sphäre programmieren AWT, Swing, JavaFX & SWT 12
H RPG Programmieren, label.setLocation funktioniert nicht AWT, Swing, JavaFX & SWT 7
H LayoutManager RPG Programmieren, eigenes Spielfeld grafisch generieren aus Tileset AWT, Swing, JavaFX & SWT 18
T Button für GUI programmieren AWT, Swing, JavaFX & SWT 1
T Wie kann man in java aufwendige grafiken programmieren AWT, Swing, JavaFX & SWT 1
A 2D-Grafik Sprung programmieren AWT, Swing, JavaFX & SWT 35
M Nutzer interface Programmieren AWT, Swing, JavaFX & SWT 2
J Kleines Helikopterspiel programmieren AWT, Swing, JavaFX & SWT 2
R kleinen JPanelEditor programmieren AWT, Swing, JavaFX & SWT 3
C Gesucht: Hilfe beim programmieren. AWT, Swing, JavaFX & SWT 1
C Hilfe beim programmieren mit studiumgebundenes Projekt AWT, Swing, JavaFX & SWT 1
2 Senso bzw SimonSays programmieren AWT, Swing, JavaFX & SWT 8
T Möchte Android-ähnlich programmieren AWT, Swing, JavaFX & SWT 7
R Eclipse GUI Programmieren AWT, Swing, JavaFX & SWT 8
I LookAndFeel HTML Auflösung - Online Editor programmieren AWT, Swing, JavaFX & SWT 2
J 2D-Grafik Menü programmieren AWT, Swing, JavaFX & SWT 2
J Swing Landkarte mithilfe von Swing programmieren AWT, Swing, JavaFX & SWT 4
T Kleinen "Gui Builder" programmieren AWT, Swing, JavaFX & SWT 12
SexyPenny90 Wie Ball programmieren, der im 4 Eck rum fliegt AWT, Swing, JavaFX & SWT 7
I Rechner programmieren AWT, Swing, JavaFX & SWT 6
F UI Toolkit programmieren AWT, Swing, JavaFX & SWT 9
3 Eigenes Frame/Window programmieren AWT, Swing, JavaFX & SWT 2
S Desktop Programmieren AWT, Swing, JavaFX & SWT 2
C Swing Orderbook programmieren AWT, Swing, JavaFX & SWT 6
B Editor programmieren AWT, Swing, JavaFX & SWT 26
LittleJavaCup Suchmaschine programmieren (wie bei Windows) AWT, Swing, JavaFX & SWT 2
T AWT verschiedene Oberflächen programmieren AWT, Swing, JavaFX & SWT 5
vandread Swing Probleme mit "Game of Life" programmieren AWT, Swing, JavaFX & SWT 8
J Modelleisenbahn - Kontroll-Tafel programmieren AWT, Swing, JavaFX & SWT 3
L Regler in Java Programmieren AWT, Swing, JavaFX & SWT 12
I Preisvergleich programmieren AWT, Swing, JavaFX & SWT 4
P Swing Roter Faden beim Applet GUI Programmieren AWT, Swing, JavaFX & SWT 2
J FAQ programmieren, welche Swing-Elemente AWT, Swing, JavaFX & SWT 7
G GUI - Inhalte wechseln (Eingabe-Assistenten programmieren) AWT, Swing, JavaFX & SWT 2
C Zeitplaner: Terminblock programmieren AWT, Swing, JavaFX & SWT 7
MiMa Optimieren einer Methode zum Zentrieren von Fenstern AWT, Swing, JavaFX & SWT 0
T VerifyListener - Ersetzen einer 0 AWT, Swing, JavaFX & SWT 5
I JavaFX JavaFx-Anwendung für die Erstellung einer Windows-Anwendung? AWT, Swing, JavaFX & SWT 6
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
N Dropshadow setzen bei einer Gruppe von Tiles, die sich jeweils in einer Stackpane befinden, welche in einer Gridpane angeordnet sind. AWT, Swing, JavaFX & SWT 0
M Daten zufällig Einlesen aus einer Datei (binäres Format) AWT, Swing, JavaFX & SWT 7
ExceptionOfExpectation Mit einer laufenden GUI Applikation eine Datei in dem Rechner löschen AWT, Swing, JavaFX & SWT 2
Jose05 Aus einer normalen Java Klasse eine FXML-Klasse laden AWT, Swing, JavaFX & SWT 12
Linjutsu Den Inhalten aus einer ArrayList Bilder zuweisen (Kartenspiel) AWT, Swing, JavaFX & SWT 8
H JavaFX Timeline II: Verschieben einer ImageView AWT, Swing, JavaFX & SWT 16
I Hilfe bei dem Erstellen einer SQL Abfrage aus gewählten JComboBoxen AWT, Swing, JavaFX & SWT 5
L Swing TextPanel Schrift untereinander und auf einer Höhe AWT, Swing, JavaFX & SWT 3
mananana Mögliche probleme die in einer GUI passieren Können AWT, Swing, JavaFX & SWT 6
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
Ernesto95 JavaFX Return Value nach Beendigung einer Animation AWT, Swing, JavaFX & SWT 15
melaniemueller Wortliste in einer Datei ablegen AWT, Swing, JavaFX & SWT 12
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
Jose05 JavaFx Fxml: GUI aus einer anderen Klasse starten AWT, Swing, JavaFX & SWT 1
U Was genau ist das Objekt einer affinentransformation? AWT, Swing, JavaFX & SWT 1
B JavaFX Prüfen ob ein Objekt sich mehrmals in einer Liste befindet AWT, Swing, JavaFX & SWT 5
mac2010 JavaFX Einbindung einer Karte AWT, Swing, JavaFX & SWT 1
donnico2 Objekte in der GUI ausgeben mit Hilfe einer DAO AWT, Swing, JavaFX & SWT 1
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
W Aufrufen einer bestimmten Scene mit if-Bedingung AWT, Swing, JavaFX & SWT 4
J Ablaufsteuerung/Anleitung machen mit JDialog und einer Zustandsmaschine AWT, Swing, JavaFX & SWT 1
missy72 JavaFX Wiederholen einer IF-Abfrage beim erneuten Öffnen einer Stage AWT, Swing, JavaFX & SWT 11
missy72 JavaFX TableView / TableColumn / ObservableList / zwei Werte in einer Zelle AWT, Swing, JavaFX & SWT 2
S JavaFX - mit Listener Veränderungen in einer TableView abhören AWT, Swing, JavaFX & SWT 3
missy72 JavaFX ObservableList in einer ArrayList speichern. AWT, Swing, JavaFX & SWT 7
HoT Sortieren von ein paar Zeilen in einer Tabelle, aber nicht die ganze Tabelle AWT, Swing, JavaFX & SWT 3
kodela Swing Element einer JComboBox ausgrauen AWT, Swing, JavaFX & SWT 3
B JavaFX Farbe eines Quadrates in einer separaten Klasse ändern AWT, Swing, JavaFX & SWT 4
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
N Aufruf einer anderen Klasse durch Button ActionListener AWT, Swing, JavaFX & SWT 2
N Einer TextArea ein ScrollPane hinzufügen AWT, Swing, JavaFX & SWT 8
L JavaFX Exception nach includieren einer fxml // nested controller AWT, Swing, JavaFX & SWT 1
K Probleme bei der Erstellung und Ausführung einer Jar Datei AWT, Swing, JavaFX & SWT 2
A checkbox in einer TableView abhängig von einem anderen Celleninhalt disablen AWT, Swing, JavaFX & SWT 1
G Verknüpfung einer pdf Datei AWT, Swing, JavaFX & SWT 2
B Ausgaben einer Umrechnung vom Textfeld in ein Label AWT, Swing, JavaFX & SWT 2
F jTree und das Model aus einer eigenen Klasse AWT, Swing, JavaFX & SWT 1
D Zeilenumbruch in einer JTable AWT, Swing, JavaFX & SWT 9
N Wie kann ich zwei Grafiken in einer Oberfläche anzeigen lassen? AWT, Swing, JavaFX & SWT 8
@SupressWarnings() JavaFX Auf den Controller einer ListCell zugreifen AWT, Swing, JavaFX & SWT 4
Drachenbauer Swing Wie ändere ich den Hintergrund vom Anzeigefeld einer JComboBox, die nicht zum Hineinschreiben offen steht? AWT, Swing, JavaFX & SWT 32
H 3 verschiedene Nachrichten in einer FXML View die Infos kommen aus DB AWT, Swing, JavaFX & SWT 4
karlmasutra JavaFX Zugriff auf eine erzeugte Scene aus einer anderen Klasse AWT, Swing, JavaFX & SWT 1
S Java GUI durch variable Größe einer Map anpassen AWT, Swing, JavaFX & SWT 3
B Textfelder in einer ListView ausgeben AWT, Swing, JavaFX & SWT 13
J Searchfunktion auf einer MS Access Datenbank AWT, Swing, JavaFX & SWT 7
B Text im Tetfeld in einer TableView darstellen AWT, Swing, JavaFX & SWT 20
M Inhalte einer FlowPane AWT, Swing, JavaFX & SWT 4
W Swing JTable Zeilenumbruch innerhalb einer Zelle AWT, Swing, JavaFX & SWT 3
E Prinzip: wie man Ereignisse in einer GUI verarbeit. Frage zum Design? AWT, Swing, JavaFX & SWT 10
FRI3ND JavaFX: Wie kann ich einer Scene Argumente übergeben? AWT, Swing, JavaFX & SWT 14
K Swing Text eines Lables in einer Methode ändern AWT, Swing, JavaFX & SWT 13
G JavaFX JavaFX-Dialog aus einer Nicht-JavaFX-Anwendung heraus AWT, Swing, JavaFX & SWT 1
1 Swing Progressbar benutzen um Fortschritt einer Methode anzuzeigen AWT, Swing, JavaFX & SWT 4
K JavaFX ViewTable mit einer LinkedList befüllen AWT, Swing, JavaFX & SWT 3
L CardLayout in einer Klasse? AWT, Swing, JavaFX & SWT 2
J Compiler in der JavaFX stop() Methode warten lassen bist eine Aktion in einer anderen Scene gemacht AWT, Swing, JavaFX & SWT 5
D Java FX Image in einer Webanwendung annotieren und den Bereich ausschneiden AWT, Swing, JavaFX & SWT 0
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
ralfb1105 Swing Ausführung einer SwingWorker Klasse stoppen AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben