Einfach NSJSONSerialization verwenden.

NSData *jsonData = [deinJSONString dataUsingEncoding:NSUTF8StringEncoding];
NSError *e = nil;
NSMutableArray *json = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&e];
NSLog(@"%@", [json objectForKey:@"email"];);

ABER,

Warum lieferst du den kompletten Datensatz für deinen User zurück? Für bestimmte Informationen über einen User, in diesem Fall die email, ist das Backend zuständig. So machst du es potentiellen Angreifern nur ungemein einfach. Auch solltest du über einen anderen Loginmechanismus nachdenken; nach dem ersten login Authentifizierung über nen verschlüsselten userKey/ApiKey, ...

...zur Antwort

Im Storyboard ein segue einfügen und identifier anpassen. Entsprechend dem Resultat der Auswertung performSegueWithIdentifier:sender: aufrufen.

Und bitte Xcode nicht xCode...

https://developer.apple.com/library/IOs/documentation/UIKit/Reference/UIViewController_Class/Reference/Reference.html#//apple_ref/occ/instm/UIViewController/performSegueWithIdentifier:sender:

...zur Antwort

Um's selber programmieren kommst du da nicht rum. Klassisches Client-Server Prinzip. Dazu CocoaAsynthSocket oder einfach Bonjour nehmen. (http://stackoverflow.com/questions/7047250/building-a-server-client-application-in-cocoa)

Auf Server Seite dann mittels NSSpeechSynthesizer den Text vorlesen lassen:

Objective C:

NSSpeechSynthesizer *speechSynth = [[NSSpeechSynthesizer alloc] initWithVoice:nil];
[speechSynth startSpeakingString:@"Hello World!"];

oder neuerdings Swift...

var synth : NSSpeechSynthesizer = NSSpeechSynthesizer()
synth.startSpeakingString("Hello World!")
...zur Antwort

Schau dir mal die seit Java 5 vorhandene Schnittstelle Executor an. Ein Executor stellt eine verbesserte Abstraktionsebene für Klassen da, die Befehle über Runnable ausführen.

Die Doc zu ThreadPoolExecutor liefert den passenden Code gleich mit.

docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html

Hier mal ein kleines Beispiel dazu:

http://pastebin.com/RbWSNrir

...zur Antwort

Guck dir mal jsoup an.

Hier mal ein kleines Beispiel dazu:

http://try.jsoup.org/~aCJMa_pucRqriGMuCIR9FDiNQ8I

...zur Antwort

Guck dir mal jQuery (bzw. auch jQuery UI) an. Ist ein JavaScript Framework mit dem du solche Sachen ziemlich einfach bewerkstelligen kannst.

Hier mal ein kleines Beispiel dazu:

http://jsfiddle.net/7muZW/

Das jQuery.js müsstest du dafür in den Headerbereich deiner Seite einbinden (einfach von der jQuery Seite runterladen) oder das von Googles CDN verwenden:

 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

Den Teil den du unter JavaScript siehst packst du dir ein ein script tag ans Ende deiner Seite.

...zur Antwort

Erstellst du pro Animationsaufruf einen eigenen Timer, oder weist du dem selben Timer jeweils einen neuen Timertask zu? Davor auch ein timer.cancel() gesetzt? Sonst kann es passieren, dass der gc mit dem aufräumen nicht mehr hinterherkommt.

Per se solltest du aber die seit Java 5 vorhandenen Klassen im java.util.concurrent Package nutzen:

http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html

Sind eine neuere (und verbesserte Abstraktionsebene) für Klassen die intern über Runnable Code ausführen.

Versuch mal einen kleine Codeausschnit auf pastebin, o.ä. zu posten mit dem dein Problem reproduzierbar ist.

...zur Antwort

Aus der doc von ThreadPoolExecutor mal ein kleines Beispiel:

http://pastebin.com/RbWSNrir

...zur Antwort

Ablage --> Sichern... --> Als Dateiformat Programm auswählen

http://s14.directupload.net/images/140125/9kwoc9ps.jpg

...zur Antwort

Benutzt du auch einen neuen ClassLoader zum neuladen der Klasse?

Folgendes funktioniert bei mir problemlos:

Quuz.class

public class Quuz {
    static{
        System.out.println( Integer.toHexString(System.identityHashCode(Quuz.class)));
    }
}

main-Methode

ClassLoader cl = new URLClassLoader(new URL[]{path.toURI().toURL()});
Class clazz = cl.loadClass("Quuz");
Object o = clazz.newInstance();

cl = new URLClassLoader(new URL[]{path.toURI().toURL()});
clazz = cl.loadClass("Quuz");
o = clazz.newInstance();

Ausgabe

5456a499
7d2152e6

Sonst nimm mal WeakReference um möglich bestehende Referenzen zu löschen:

ReferenceQueue wQ = new ReferenceQueue();
WeakReference wR = new WeakReference(o, wQ);
wR.enqueue();

// Clear strong references
o = null;

System.gc();

try {
    Reference ref = wQ.remove();
    ref.clear();
} catch (InterruptedException e) {
    e.printStackTrace();
    return;
}
...zur Antwort

Statt der Schleife benutz lieber eine rekursive Methode für die Eingaben

private Scanner scanner = new Scanner(System.in);
private String getInput(String message, String... arguments){
    try{
        System.out.println(message);
        String input = scanner.next().toLowerCase();

        return Arrays.asList(arguments).contains(input) ? input : getInput(message, arguments);
    }catch(Exception e){
        return getInput(message, arguments);
    }
}

An der entsprechenden Stelle, an der du eine Eingabe erwartest, aufzurufen mit:

String input = getInput("A oder B eingeben","a","b");
...zur Antwort

Brauchst das Rad nicht neu erfinden, kannst dafür die bereits bestehenden Klassen benutzen:

private SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy");
private DateFormat dayFormat = new SimpleDateFormat("EEEE");

private String getDay(int year, int month, int date) throws ParseException {
    return dayFormat.format(format.parse(String.format("%s/%s/%s", month, date, year)));
}
...zur Antwort

Schau dir mal die Antwort hier an:

http://stackoverflow.com/questions/639695/how-to-convert-latitude-or-longitude-to-meters#answer-11172685

...zur Antwort

Kannst die Lösung wie von procoder42 angesprochen nutzen. Per se ist es aber schöner eine Unterklasse von ScheduledThreadPoolExecutor die für das Pausieren/Fortsetzen der einzelnen Threads zuständig ist zu nutzen.

Den nötigen Code liefert die JavaDoc zu ThreadPoolExecutor gleich mit.

docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html

Hier mal ein kleines Beispiel dazu:

http://pastebin.com/ppQNMhAz

...zur Antwort

Du wirst sicherlich öfters einen ähnlichen Codeabschnitt brauchen. Pack dir das Einlesen der Variablen direkt in ne eigene Methode (Höhere Lesbarkeit + Reduzierung des Codes).

private int showInputPaneAndValidate(String message, Integer... arguments){
    try{
        int input = Integer.parseInt(JOptionPane.showInputDialog(message));

        return Arrays.asList(arguments).contains(input) ? input : showInputPaneAndValidate(message, arguments);
    }catch(Exception e){
        return showInputPaneAndValidate(message, arguments);
    }
}

Aufzurufen mit

int warm = showInputPaneAndValidate("1, 2 oder 3?", 1, 2, 3);
...zur Antwort

Wenn du etwas versierter in UI-Programmierung bist schau dir mal JLayer und LayerUI aus Java 7 an. Sonst sollte setBackground, wie PerfectMuffin es bereits vorgeschlagen hat, vollkommen ausreichend sein.

http://docs.oracle.com/javase/tutorial/uiswing/misc/jlayer.html

Hier noch ein Kommentar von stackoverflow der die Funktion von JLayer ziemlich gut beschreibt:

A JLayer can be used to dynamically enhance any of your existing components.

Say you have some custom button (say MyJButton) and you want to add a mouse over effect or maybe some shading. Traditionally you would create a new class that inherits from MyJButton that would implement your new features.

One problem with this is approach is that the new effects are only applicable to MyJButton (since your new class extends MyJButton). Another problem with this approach is that you can't change the enhancements / effects at run time, since inheritance relations are fixed at compile time.

Using a JLayer, you can put a LayerUI together with any existing Component (not just a JButton or MyJButton) in order to add your custom effects to a component. If you have a LayerUI that does shading, you can put it together with a JButton, JTextField, JPanel or any other component to perform that shading. You can also change the composition of LayerUIs and Components at run time.

The JLayer is just a special case of the decorator pattern

...zur Antwort

Wo sind denn die üblichen Verdächtigen wenns um Java geht?

Naja, hier mal ein kleines Beispiel:

http://pastebin.com/P7exhUKR

Prinzip sollte klar sein:

Der Integer Wert der selektierten zeile wird beim Button-Klick in der ArrayList gespeichert. Dann nur noch im CellRenderer in der getTableCellRendererComponent Methode die jeweilige Zeile einfärben und fertig.

...zur Antwort

Die Java Insel sollt für Anfänger eigentlich die erste Anlaufstelle sein. Das ist meist was zu finden:

http://openbook.galileodesign.de/javainsel5/javainsel15_034.htm#Rxx747java150340400055A1F02D10A

...zur Antwort

Meinen Programm-Code gibt es nur auf Anfrage.

...

Ein KSKB (Kurzes selbständiges kompilierbares Beispiel) reicht doch, bzw. ist sogar erwünscht. Gibt es im sum-Paket Tabellen Klassen? Sonst nutz einfach ne (J)Table und füg die wenn benötigt dem Panel hinzu.

Die sum-Klassen werden auch auf nem gewöhnlichem (J)Component aufsetzen, sodass eine kompatibilität gewährleistet ist.

...zur Antwort

Mein Server hört auf EINEN Port.

Solang du deinem Programm pro Clientverbindung einen eigenen "Einlese-thread" spendierst sollte es da zu keinerlei Problemen kommen. Die Server run() einfach in ne while-Schleife packen und jedem verbundenen Client an nen ExecutorService weiterreichen.

Auf stackoverflow.com hat EJP das ganz gut zusammen gefasst:

The port is just a number. It doesn't correspond to anything physical. A connection is defined by the tuple {protocol, source address, source port, target address, target port}. The client-side OS will take care of ensuring different outbound port numbers for each outgoing connection. So there is no problem in having multiple inbound connections to the same target host/port, even if they are all from the same client source host.

http://stackoverflow.com/questions/2821658/java-sockets-multiple-client-threads-on-same-port-on-same-machine#comment2866499_2821679

...zur Antwort