1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
// 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 "???";
}
}
|