blob: 9fc8baa39212592a92ed51c5395cf51055a6ba74 [file] [log] [blame]
// Example for use of GNU gettext.
// This file is in the public domain.
//
// Source code of the Java/QtJambi program.
import java.util.*;
import java.io.*;
import java.text.*;
import com.trolltech.qt.core.*;
import com.trolltech.qt.gui.*;
import gnu.gettext.*;
public class Hello {
public static void main (String[] args) {
ResourceBundle catalog = ResourceBundle.getBundle("hello-java-qtjambi");
QApplication.initialize(args);
QMainWindow window = new QMainWindow();
window.setWindowTitle("Hello example");
QWidget panel = new QWidget();
QVBoxLayout panelLayout = new QVBoxLayout();
panelLayout.setSpacing(2);
QLabel label1 =
new QLabel(GettextResource.gettext(catalog,"Hello, world!"));
panelLayout.addWidget(label1);
QLabel label2 =
new QLabel(
MessageFormat.format(
GettextResource.gettext(catalog,
"This program is running as process number {0}."),
new Object[] { getPid() }));
panelLayout.addWidget(label2);
QWidget buttonBar = new QWidget();
QHBoxLayout buttonBarLayout = new QHBoxLayout();
QWidget filler = new QWidget(); // makes the button right-aligned
buttonBarLayout.addWidget(filler);
QPushButton button = new QPushButton("OK");
button.setMaximumWidth(button.sizeHint().width()+20);
button.clicked.connect(window, "close()");
buttonBarLayout.addWidget(button);
buttonBar.setLayout(buttonBarLayout);
panelLayout.addWidget(buttonBar);
panel.setLayout(panelLayout);
window.setCentralWidget(panel);
window.show();
QApplication.exec();
}
/* 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 "???";
}
}