Créer une interface graphique en Java
quelles sont les meilleures façons de créer une interface graphique en Java?
6 réponses
regardez le UUID class livré avec Java 5 et plus tard.
par exemple:
- si vous voulez un UUID aléatoire, vous pouvez utiliser la méthode randomUUID .
- si vous voulez qu'un UUID soit initialisé à une valeur spécifique, vous pouvez utiliser la méthode UUID constructor ou la méthode fromString .
cela dépend de quelle sorte de UUID vous voulez.
-
La Java standard
UUID
classe génère Version 4 (aléatoire) des Uuid. ( UPDATE - Version 3 (nom) des UUIDs peuvent également être générés.) Il peut également gérer d'autres variantes, bien qu'il ne puisse pas les générer. (Dans ce cas, "poignée" signifie constructionUUID
exemples delong
,byte[]
ouString
représentations, et fournir certains accesseurs appropriés.) -
Le Java Générateur d'UUID (CRUCHE) mise en œuvre vise à soutenir "toutes les 3 'officiel' types de UUID tel que défini par RFC 4122 " ... bien que le RFC définit en fait 4 types et mentionne un 5e type.
pour plus d'informations sur les types et variantes D'UUID, il y a un bon résumé dans Wikipedia , et les détails sanglants sont dans RFC 4122 et les autres spécifications.
juste pour étendre la réponse de Mark Byers avec un exemple:
import java.util.UUID;
public class RandomStringUUID {
public static void main(String[] args) {
UUID uuid = UUID.randomUUID();
String randomUUIDString = uuid.toString();
System.out.println("UUID=" + randomUUIDString );
}
}
les autres réponses sont correctes, en particulier celle-ci par Stephen C .
Pour Atteindre À L'Extérieur De Java
générant une valeur UUID dans Java est limitée à Version 4 (aléatoire) pour des raisons de sécurité.
si vous voulez d'autres versions D'UUIDs, une avenue est d'avoir votre Java app reach en dehors de la JVM pour générer des UUIDs en appelant:
- utilitaire de ligne de Commande
Livré avec presque tous les systèmes d'exploitation.
par exemple,uuidgen
trouvé dans Mac OS X, BSD, et Linux. - serveur de Base de données
Utiliser JDBC pour récupérer un UUID généré sur le serveur de base de données.
par exemple, l'extension "1519420920uuid-ossp
souvent groupée avec Postgres . Cette extension peut générer des Versions 1, 3, et 4 valeurs et en outre un couple de variations:-
uuid_generate_v1mc()
– génère une version 1 UUID mais utilise une adresse MAC multicast aléatoire au lieu de la véritable adresse MAC de l'ordinateur. -
uuid_generate_v5(namespace uuid, name text)
- génère une version 5 UUID, qui fonctionne comme une UUID version 3 sauf que SHA-1 est utilisé comme une méthode de hachage.
-
- Web Service
Par exemple, Générateur d'UUID crée les Versions 1 et 3 ainsi que nil "valeurs 151960920" et GUID .
vous pouvez utiliser ce code pour générer GUID.
import java.util.concurrent.TimeUnit;
import org.apache.log4j.Logger;
public class StrictMicroSecondTimeBasedGuid
{
private final static Logger logger = Logger
.getLogger(StrictMicroSecondTimeBasedGuid.class);
private static final long MICRO_IN_MILL = 1000;
private static final long NANO_IN_MICRO = 1000;
private static long baseNanoTime;
private static long baseTimeInMicro;
private static long lastGuid;
static
{
/*
* Nanosecond time's reference is not known, therfore following logic is
* needed to calculate time in micro without knowing refrence point of
* nano time*
*/
baseNanoTime = System.nanoTime();
baseTimeInMicro = System.currentTimeMillis() * MICRO_IN_MILL;
lastGuid = baseTimeInMicro;
}
public static synchronized Long newGuid()
{
long newGuid;
while ((newGuid = calNewTimeInMicro()) <= lastGuid)
{
/** we have to check for this log, we don't want to see log. */
logger.debug("wait of 10-microsecond is introduced to get new guid");
try
{
TimeUnit.MICROSECONDS.sleep(10);
} catch (InterruptedException e)
{
logger.error("Error", e);
}
}
lastGuid = newGuid;
return newGuid;
}
private static long calNewTimeInMicro()
{
return baseTimeInMicro
+ ((System.nanoTime() - baseNanoTime) / NANO_IN_MICRO);
}
}