*
* The MIT License (MIT)
*
- * Copyright (C) 2016 Kevin Lamonte
+ * Copyright (C) 2019 Kevin Lamonte
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
*/
package jexer.demos;
-import java.net.*;
-import jexer.net.*;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.text.MessageFormat;
+import java.util.ResourceBundle;
+
+import jexer.net.TelnetServerSocket;
/**
* This class is the main driver for a simple demonstration of Jexer's
*/
public class Demo2 {
+ /**
+ * Translated strings.
+ */
+ private static final ResourceBundle i18n = ResourceBundle.getBundle(Demo2.class.getName());
+
/**
* Main entry point.
*
* @param args Command line arguments
*/
public static void main(final String [] args) {
+ ServerSocket server = null;
try {
if (args.length == 0) {
- System.err.printf("USAGE: java -cp jexer.jar jexer.demos.Demo2 port\n");
+ System.err.println(i18n.getString("usageString"));
return;
}
int port = Integer.parseInt(args[0]);
- ServerSocket server = new TelnetServerSocket(port);
+ server = new TelnetServerSocket(port);
while (true) {
Socket socket = server.accept();
- System.out.printf("New connection: %s\n", socket);
+ System.out.println(MessageFormat.
+ format(i18n.getString("newConnection"), socket));
DemoApplication app = new DemoApplication(socket.getInputStream(),
socket.getOutputStream());
- System.out.printf(" language: %s\n",
- ((jexer.net.TelnetInputStream) socket.getInputStream()).
- getLanguage());
(new Thread(app)).start();
+ Thread.sleep(500);
+ System.out.println(MessageFormat.
+ format(i18n.getString("terminal"),
+ ((jexer.net.TelnetInputStream) socket.getInputStream()).
+ getTerminalType()));
+ System.out.println(MessageFormat.
+ format(i18n.getString("username"),
+ ((jexer.net.TelnetInputStream) socket.getInputStream()).
+ getUsername()));
+ System.out.println(MessageFormat.
+ format(i18n.getString("language"),
+ ((jexer.net.TelnetInputStream) socket.getInputStream()).
+ getLanguage()));
}
} catch (Exception e) {
e.printStackTrace();
+ } finally {
+ if (server != null) {
+ try {
+ server.close();
+ } catch (Exception e) {
+ // SQUASH
+ }
+ }
}
}