blob: 7bdef7ede433e9da7b712df7bf98668495bbbf9f [file] [log] [blame]
// Example for use of GNU gettext.
// This file is in the public domain.
//
// Source code of the Java/Swing program.
import java.util.*;
import java.io.*;
import java.text.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import gnu.gettext.*;
public class Hello {
public static void main (String[] args) {
ResourceBundle catalog = ResourceBundle.getBundle("hello-java-swing");
JFrame frame = new JFrame("Hello example");
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JLabel label1 =
new JLabel(GettextResource.gettext(catalog,"Hello, world!"));
JLabel label2 =
new JLabel(
MessageFormat.format(
GettextResource.gettext(catalog,
"This program is running as process number {0}."),
new Object[] { getPid() }));
JButton button = new JButton("OK");
button.addActionListener(
new ActionListener() {
public void actionPerformed (ActionEvent event) {
System.exit(0);
}
});
JPanel labels = new JPanel();
labels.setLayout(new GridLayout(2, 1));
labels.add(label1);
labels.add(label2);
JPanel buttons = new JPanel();
buttons.setLayout(new FlowLayout(FlowLayout.RIGHT));
buttons.add(button);
frame.getContentPane().setLayout(new BorderLayout());
frame.getContentPane().add(labels, BorderLayout.CENTER);
frame.getContentPane().add(buttons, BorderLayout.SOUTH);
frame.pack();
frame.setVisible(true);
}
/* Return the process ID of the current process. */
private static String getPid () {
try {
String[] args = new String[] { "/bin/sh", "-c", "echo $PPID" };
Process p = Runtime.getRuntime().exec(args);
InputStream p_out = p.getInputStream();
String s = (new BufferedReader(new InputStreamReader(p_out))).readLine();
p.destroy();
if (s != null)
return s;
} catch (IOException e) {
e.printStackTrace();
}
return "???";
}
}