7017818: NLS: JConsoleResources.java cannot be handled by translation team
Reviewed-by: mchung, mfang
--- a/jdk/make/netbeans/jconsole/build.xml Fri May 25 14:32:07 2012 +0800
+++ b/jdk/make/netbeans/jconsole/build.xml Fri May 25 12:24:57 2012 +0200
@@ -50,6 +50,7 @@
<fileset dir="${classes.dir}">
<include name="sun/tools/jconsole/**/*.class"/>
<include name="com/sun/tools/jconsole/**/*.class"/>
+ <include name="sun/tools/jconsole/resources/*.properties"/>
<include name="sun/tools/jconsole/resources/*.gif"/>
<include name="sun/tools/jconsole/resources/*.png"/>
</fileset>
--- a/jdk/make/sun/jconsole/FILES.gmk Fri May 25 14:32:07 2012 +0800
+++ b/jdk/make/sun/jconsole/FILES.gmk Fri May 25 12:24:57 2012 +0200
@@ -30,17 +30,22 @@
MANIFEST = sun/tools/jconsole/manifest
PNG_FILES = \
- sun/tools/jconsole/resources/brandlogo.png \
- sun/tools/jconsole/resources/collapse-winlf.png \
- sun/tools/jconsole/resources/connected16.png \
- sun/tools/jconsole/resources/connected24.png \
- sun/tools/jconsole/resources/disconnected16.png \
- sun/tools/jconsole/resources/disconnected24.png \
- sun/tools/jconsole/resources/expand-winlf.png \
- sun/tools/jconsole/resources/masthead-left.png \
- sun/tools/jconsole/resources/masthead-right.png
+ sun/tools/jconsole/resources/brandlogo.png \
+ sun/tools/jconsole/resources/collapse-winlf.png \
+ sun/tools/jconsole/resources/connected16.png \
+ sun/tools/jconsole/resources/connected24.png \
+ sun/tools/jconsole/resources/disconnected16.png \
+ sun/tools/jconsole/resources/disconnected24.png \
+ sun/tools/jconsole/resources/expand-winlf.png \
+ sun/tools/jconsole/resources/masthead-left.png \
+ sun/tools/jconsole/resources/masthead-right.png
GIF_FILES = \
- sun/tools/jconsole/resources/mbean.gif \
- sun/tools/jconsole/resources/mbeanserverdelegate.gif \
- sun/tools/jconsole/resources/xobject.gif
+ sun/tools/jconsole/resources/mbean.gif \
+ sun/tools/jconsole/resources/mbeanserverdelegate.gif \
+ sun/tools/jconsole/resources/xobject.gif
+
+PROP_FILES = \
+ sun/tools/jconsole/resources/messages.properties \
+ sun/tools/jconsole/resources/messages_ja.properties \
+ sun/tools/jconsole/resources/messages_zh_CN.properties
--- a/jdk/make/sun/jconsole/Makefile Fri May 25 14:32:07 2012 +0800
+++ b/jdk/make/sun/jconsole/Makefile Fri May 25 12:24:57 2012 +0200
@@ -53,21 +53,21 @@
FILES_png = $(PNG_FILES:%.png=$(CLASSBINDIR)/%.png)
FILES_gif = $(GIF_FILES:%.gif=$(CLASSBINDIR)/%.gif)
-
+FILES_prop = $(PROP_FILES:%.properties=$(CLASSBINDIR)/%.properties)
build: $(GENSRCDIR)/sun/tools/jconsole/Version.java
#
# Resources
#
LOCALE_SET_DEFINITION = jdk
-RESOURCE_BUNDLES_JAVA = $(PKGDIR)/resources/JConsoleResources.java
+RESOURCE_BUNDLES_UNCOMPILED_PROPERTIES = $(PKGDIR)/resources/messages.properties
#
# Rules.
#
include $(BUILDDIR)/common/Classes.gmk
-build: $(FILES_png) $(FILES_gif) $(TEMPDIR)/manifest $(JARFILE)
+build: $(FILES_png) $(FILES_gif) $(FILES_prop) $(TEMPDIR)/manifest $(JARFILE)
$(GENSRCDIR)/sun/tools/jconsole/Version.java: \
$(SHARE_SRC)/classes/sun/tools/jconsole/Version.java.template
@@ -85,7 +85,7 @@
# Extra rule to build jconsole.jar
#
-$(JARFILE): $(LIBDIR) $(FILES_class) $(FILES_png) $(FILES_gif) $(TEMPDIR)/manifest
+$(JARFILE): $(LIBDIR) $(FILES_class) $(FILES_png) $(FILES_gif) $(FILES_prop) $(TEMPDIR)/manifest
$(BOOT_JAR_CMD) -cfm $(JARFILE) $(TEMPDIR)/manifest \
-C $(CLASSBINDIR) sun/tools/jconsole \
-C $(CLASSBINDIR) com/sun/tools/jconsole \
--- a/jdk/src/share/classes/sun/tools/jconsole/AboutDialog.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/AboutDialog.java Fri May 25 12:24:57 2012 +0200
@@ -30,13 +30,12 @@
import java.beans.PropertyVetoException;
import java.net.URI;
-import javax.accessibility.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.event.*;
+
import static java.awt.BorderLayout.*;
-import static sun.tools.jconsole.Resources.*;
import static sun.tools.jconsole.Utilities.*;
@SuppressWarnings("serial")
@@ -47,7 +46,7 @@
private static final Color borderColor = Color.black;
private Icon mastheadIcon =
- new MastheadIcon(getText("Help.AboutDialog.masthead.title"));
+ new MastheadIcon(Messages.HELP_ABOUT_DIALOG_MASTHEAD_TITLE);
private static AboutDialog aboutDialog;
@@ -55,10 +54,9 @@
private Action closeAction;
public AboutDialog(JConsole jConsole) {
- super(jConsole, Resources.getText("Help.AboutDialog.title"), false);
+ super(jConsole, Messages.HELP_ABOUT_DIALOG_TITLE, false);
- setAccessibleDescription(this,
- getText("Help.AboutDialog.accessibleDescription"));
+ setAccessibleDescription(this, Messages.HELP_ABOUT_DIALOG_ACCESSIBLE_DESCRIPTION);
setDefaultCloseOperation(HIDE_ON_CLOSE);
setResizable(false);
JComponent cp = (JComponent)getContentPane();
@@ -67,7 +65,7 @@
JLabel mastheadLabel = new JLabel(mastheadIcon);
setAccessibleName(mastheadLabel,
- getText("Help.AboutDialog.masthead.accessibleName"));
+ Messages.HELP_ABOUT_DIALOG_MASTHEAD_ACCESSIBLE_NAME);
JPanel mainPanel = new TPanel(0, 0);
mainPanel.add(mastheadLabel, NORTH);
@@ -75,7 +73,7 @@
String jConsoleVersion = Version.getVersion();
String vmName = System.getProperty("java.vm.name");
String vmVersion = System.getProperty("java.vm.version");
- String urlStr = getText("Help.AboutDialog.userGuideLink.url");
+ String urlStr = Messages.HELP_ABOUT_DIALOG_USER_GUIDE_LINK_URL;
if (isBrowseSupported()) {
urlStr = "<a style='color:#35556b' href=\"" + urlStr + "\">" + urlStr + "</a>";
}
@@ -86,9 +84,9 @@
String colorStr = String.format("%06x", textColor.getRGB() & 0xFFFFFF);
JEditorPane helpLink = new JEditorPane("text/html",
"<html><font color=#"+ colorStr + ">" +
- getText("Help.AboutDialog.jConsoleVersion", jConsoleVersion) +
- "<p>" + getText("Help.AboutDialog.javaVersion", (vmName +", "+ vmVersion)) +
- "<p>" + getText("Help.AboutDialog.userGuideLink", urlStr) +
+ Resources.format(Messages.HELP_ABOUT_DIALOG_JCONSOLE_VERSION, jConsoleVersion) +
+ "<p>" + Resources.format(Messages.HELP_ABOUT_DIALOG_JAVA_VERSION, (vmName +", "+ vmVersion)) +
+ "<p>" + Resources.format(Messages.HELP_ABOUT_DIALOG_USER_GUIDE_LINK, urlStr) +
"</html>");
helpLink.setOpaque(false);
helpLink.setEditable(false);
@@ -155,7 +153,7 @@
}
static void browseUserGuide(JConsole jConsole) {
- getAboutDialog(jConsole).browse(getText("Help.AboutDialog.userGuideLink.url"));
+ getAboutDialog(jConsole).browse(Messages.HELP_ABOUT_DIALOG_USER_GUIDE_LINK_URL);
}
static boolean isBrowseSupported() {
@@ -176,7 +174,7 @@
}
private void createActions() {
- closeAction = new AbstractAction(getText("Close")) {
+ closeAction = new AbstractAction(Messages.CLOSE) {
public void actionPerformed(ActionEvent ev) {
setVisible(false);
statusBar.setText("");
--- a/jdk/src/share/classes/sun/tools/jconsole/BorderedComponent.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/BorderedComponent.java Fri May 25 12:24:57 2012 +0200
@@ -33,11 +33,10 @@
import javax.swing.plaf.*;
import javax.swing.plaf.basic.BasicGraphicsUtils;
+
import static javax.swing.SwingConstants.*;
import static sun.tools.jconsole.JConsole.*;
-import static sun.tools.jconsole.Resources.*;
-import static sun.tools.jconsole.Utilities.*;
@SuppressWarnings("serial")
public class BorderedComponent extends JPanel implements ActionListener {
@@ -47,8 +46,6 @@
JComponent comp;
boolean collapsed = false;
- private JPopupMenu popupMenu;
-
private Icon collapseIcon;
private Icon expandIcon;
@@ -100,7 +97,7 @@
moreOrLessButton.setMargin(new Insets(0, 0, 0, 0));
moreOrLessButton.addActionListener(this);
String toolTip =
- getText("BorderedComponent.moreOrLessButton.toolTip");
+ Messages.BORDERED_COMPONENT_MORE_OR_LESS_BUTTON_TOOLTIP;
moreOrLessButton.setToolTipText(toolTip);
borderLabel.add(moreOrLessButton);
borderLabel.setSize(borderLabel.getPreferredSize());
@@ -136,7 +133,8 @@
public void setValueLabel(String str) {
this.valueLabelStr = str;
if (label != null) {
- label.setText(Resources.getText("Current value",valueLabelStr));
+ label.setText(Resources.format(Messages.CURRENT_VALUE,
+ valueLabelStr));
}
}
@@ -151,8 +149,8 @@
remove(comp);
if (valueLabelStr != null) {
if (label == null) {
- label = new JLabel(Resources.getText("Current value",
- valueLabelStr));
+ label = new JLabel(Resources.format(Messages.CURRENT_VALUE,
+ valueLabelStr));
}
add(label);
}
@@ -439,8 +437,6 @@
* @param insets the object to be reinitialized
*/
public Insets getBorderInsets(Component c, Insets insets) {
- int height = 16;
-
Border border = getBorder();
if (border != null) {
if (border instanceof AbstractBorder) {
--- a/jdk/src/share/classes/sun/tools/jconsole/ClassTab.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/ClassTab.java Fri May 25 12:24:57 2012 +0200
@@ -33,17 +33,11 @@
import javax.swing.*;
import javax.swing.border.*;
-import javax.swing.event.*;
-import javax.swing.text.*;
-import java.util.*;
-import java.util.List;
+
import java.util.concurrent.*;
-import sun.awt.*;
-
import static sun.tools.jconsole.Formatter.*;
-import static sun.tools.jconsole.Resources.*;
import static sun.tools.jconsole.Utilities.*;
@@ -58,13 +52,9 @@
private static final String loadedPlotterKey = "loaded";
private static final String totalLoadedPlotterKey = "totalLoaded";
- private static final String loadedPlotterName = Resources.getText("Loaded");
- private static final String totalLoadedPlotterName = Resources.getText("Total Loaded");
private static final Color loadedPlotterColor = Plotter.defaultColor;
private static final Color totalLoadedPlotterColor = Color.red;
- private static final String infoLabelFormat = "ClassTab.infoLabelFormat";
-
/*
Hierarchy of panels and layouts for this tab:
@@ -88,7 +78,7 @@
*/
public static String getTabName() {
- return Resources.getText("Classes");
+ return Messages.CLASSES;
}
public ClassTab(VMPanel vmPanel) {
@@ -108,40 +98,40 @@
JPanel controlPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 20, 5));
topPanel.add(controlPanel, BorderLayout.CENTER);
- verboseCheckBox = new JCheckBox(Resources.getText("Verbose Output"));
+ verboseCheckBox = new JCheckBox(Messages.VERBOSE_OUTPUT);
verboseCheckBox.addActionListener(this);
- verboseCheckBox.setToolTipText(getText("Verbose Output.toolTip"));
+ verboseCheckBox.setToolTipText(Messages.VERBOSE_OUTPUT_TOOLTIP);
JPanel topRightPanel = new JPanel();
topRightPanel.setBorder(new EmptyBorder(0, 65-8, 0, 70));
topRightPanel.add(verboseCheckBox);
topPanel.add(topRightPanel, BorderLayout.AFTER_LINE_ENDS);
- loadedClassesMeter = new PlotterPanel(Resources.getText("Number of Loaded Classes"),
+ loadedClassesMeter = new PlotterPanel(Messages.NUMBER_OF_LOADED_CLASSES,
Plotter.Unit.NONE, false);
loadedClassesMeter.plotter.createSequence(loadedPlotterKey,
- loadedPlotterName,
+ Messages.LOADED,
loadedPlotterColor,
true);
loadedClassesMeter.plotter.createSequence(totalLoadedPlotterKey,
- totalLoadedPlotterName,
+ Messages.TOTAL_LOADED,
totalLoadedPlotterColor,
true);
setAccessibleName(loadedClassesMeter.plotter,
- getText("ClassTab.loadedClassesPlotter.accessibleName"));
+ Messages.CLASS_TAB_LOADED_CLASSES_PLOTTER_ACCESSIBLE_NAME);
plotterPanel.add(loadedClassesMeter);
timeComboBox = new TimeComboBox(loadedClassesMeter.plotter);
- controlPanel.add(new LabeledComponent(Resources.getText("Time Range:"),
- getMnemonicInt("Time Range:"),
+ controlPanel.add(new LabeledComponent(Messages.TIME_RANGE_COLON,
+ Resources.getMnemonicInt(Messages.TIME_RANGE_COLON),
timeComboBox));
LabeledComponent.layout(plotterPanel);
- bottomPanel.setBorder(new CompoundBorder(new TitledBorder(Resources.getText("Details")),
- new EmptyBorder(10, 10, 10, 10)));
+ bottomPanel.setBorder(new CompoundBorder(new TitledBorder(Messages.DETAILS),
+ new EmptyBorder(10, 10, 10, 10)));
details = new HTMLPane();
- setAccessibleName(details, getText("Details"));
+ setAccessibleName(details, Messages.DETAILS);
JScrollPane scrollPane = new JScrollPane(details);
scrollPane.setPreferredSize(new Dimension(0, 150));
bottomPanel.add(scrollPane, BorderLayout.SOUTH);
@@ -226,10 +216,10 @@
long time = System.currentTimeMillis();
String timeStamp = formatDateTime(time);
- text += newRow(Resources.getText("Time"), timeStamp);
- text += newRow(Resources.getText("Current classes loaded"), justify(clCount, 5));
- text += newRow(Resources.getText("Total classes loaded"), justify(ctCount, 5));
- text += newRow(Resources.getText("Total classes unloaded"), justify(cuCount, 5));
+ text += newRow(Messages.TIME, timeStamp);
+ text += newRow(Messages.CURRENT_CLASSES_LOADED, justify(clCount, 5));
+ text += newRow(Messages.TOTAL_CLASSES_LOADED, justify(ctCount, 5));
+ text += newRow(Messages.TOTAL_CLASSES_UNLOADED, justify(cuCount, 5));
return text;
}
@@ -246,12 +236,13 @@
private static class ClassOverviewPanel extends OverviewPanel {
ClassOverviewPanel() {
- super(getText("Classes"), loadedPlotterKey, loadedPlotterName, null);
+ super(Messages.CLASSES, loadedPlotterKey, Messages.LOADED, null);
}
private void updateClassInfo(long total, long loaded) {
long unloaded = (total - loaded);
- getInfoLabel().setText(getText(infoLabelFormat, loaded, unloaded, total));
+ getInfoLabel().setText(Resources.format(Messages.CLASS_TAB_INFO_LABEL_FORMAT,
+ loaded, unloaded, total));
}
}
}
--- a/jdk/src/share/classes/sun/tools/jconsole/ConnectDialog.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/ConnectDialog.java Fri May 25 12:24:57 2012 +0200
@@ -29,23 +29,17 @@
import java.awt.*;
import java.awt.event.*;
import java.util.*;
-import java.net.MalformedURLException;
-import java.io.IOException;
-import javax.accessibility.*;
import javax.swing.*;
-import javax.swing.Timer;
import javax.swing.border.*;
import javax.swing.event.*;
import javax.swing.plaf.basic.BasicRadioButtonUI;
import javax.swing.table.*;
-import javax.management.remote.JMXServiceURL;
-import javax.management.remote.JMXConnector;
+
import static java.awt.BorderLayout.*;
import static javax.swing.ListSelectionModel.*;
-import static sun.tools.jconsole.Resources.*;
import static sun.tools.jconsole.Utilities.*;
@SuppressWarnings("serial")
@@ -66,7 +60,7 @@
JPanel radioButtonPanel;
private Icon mastheadIcon =
- new MastheadIcon(getText("ConnectDialog.masthead.title"));
+ new MastheadIcon(Messages.CONNECT_DIALOG_MASTHEAD_TITLE);
private Color hintTextColor, disabledTableCellColor;
// The table of managed VM (local process)
@@ -79,11 +73,11 @@
public ConnectDialog(JConsole jConsole) {
- super(jConsole, Resources.getText("ConnectDialog.title"), true);
+ super(jConsole, Messages.CONNECT_DIALOG_TITLE, true);
this.jConsole = jConsole;
setAccessibleDescription(this,
- getText("ConnectDialog.accessibleDescription"));
+ Messages.CONNECT_DIALOG_ACCESSIBLE_DESCRIPTION);
setDefaultCloseOperation(HIDE_ON_CLOSE);
setResizable(false);
Container cp = (JComponent)getContentPane();
@@ -95,7 +89,7 @@
statusBar = new JLabel(" ", JLabel.CENTER);
setAccessibleName(statusBar,
- getText("ConnectDialog.statusBar.accessibleName"));
+ Messages.CONNECT_DIALOG_STATUS_BAR_ACCESSIBLE_NAME);
Font normalLabelFont = statusBar.getFont();
Font boldLabelFont = normalLabelFont.deriveFont(Font.BOLD);
@@ -103,7 +97,7 @@
JLabel mastheadLabel = new JLabel(mastheadIcon);
setAccessibleName(mastheadLabel,
- getText("ConnectDialog.masthead.accessibleName"));
+ Messages.CONNECT_DIALOG_MASTHEAD_ACCESSIBLE_NAME);
cp.add(mastheadLabel, NORTH);
cp.add(radioButtonPanel, CENTER);
@@ -117,7 +111,7 @@
remoteTF.addFocusListener(this);
remoteTF.setPreferredSize(remoteTF.getPreferredSize());
setAccessibleName(remoteTF,
- getText("Remote Process.textField.accessibleName"));
+ Messages.REMOTE_PROCESS_TEXT_FIELD_ACCESSIBLE_NAME);
//
// If the VM supports the local attach mechanism (is: Sun
@@ -141,8 +135,8 @@
TableColumn cmdLineColumn = columnModel.getColumn(COL_NAME);
cmdLineColumn.setResizable(false);
- localRadioButton = new JRadioButton(getText("Local Process:"));
- localRadioButton.setMnemonic(getMnemonicInt("Local Process:"));
+ localRadioButton = new JRadioButton(Messages.LOCAL_PROCESS_COLON);
+ localRadioButton.setMnemonic(Resources.getMnemonicInt(Messages.LOCAL_PROCESS_COLON));
localRadioButton.setFont(boldLabelFont);
localRadioButton.addItemListener(this);
radioButtonGroup.add(localRadioButton);
@@ -167,8 +161,8 @@
localTablePanel.add(localMessageLabel, SOUTH);
}
- remoteRadioButton = new JRadioButton(getText("Remote Process:"));
- remoteRadioButton.setMnemonic(getMnemonicInt("Remote Process:"));
+ remoteRadioButton = new JRadioButton(Messages.REMOTE_PROCESS_COLON);
+ remoteRadioButton.setMnemonic(Resources.getMnemonicInt(Messages.REMOTE_PROCESS_COLON));
remoteRadioButton.setFont(boldLabelFont);
radioButtonGroup.add(remoteRadioButton);
@@ -207,7 +201,7 @@
remoteTFPanel.add(remoteTF, NORTH);
- remoteMessageLabel = new JLabel("<html>" + getText("remoteTF.usage"));
+ remoteMessageLabel = new JLabel("<html>" + Messages.REMOTE_TF_USAGE + "</html>");
remoteMessageLabel.setFont(smallLabelFont);
remoteMessageLabel.setForeground(hintTextColor);
remoteTFPanel.add(remoteMessageLabel, CENTER);
@@ -222,11 +216,10 @@
userNameTF.getDocument().addDocumentListener(this);
userNameTF.addFocusListener(this);
setAccessibleName(userNameTF,
- getText("Username.accessibleName"));
- String labelKey = "Username: ";
+ Messages.USERNAME_ACCESSIBLE_NAME);
LabeledComponent lc;
- lc = new LabeledComponent(getText(labelKey),
- getMnemonicInt(labelKey),
+ lc = new LabeledComponent(Messages.USERNAME_COLON_,
+ Resources.getMnemonicInt(Messages.USERNAME_COLON_),
userNameTF);
lc.label.setFont(boldLabelFont);
userPwdPanel.add(lc);
@@ -238,10 +231,10 @@
passwordTF.getDocument().addDocumentListener(this);
passwordTF.addFocusListener(this);
setAccessibleName(passwordTF,
- getText("Password.accessibleName"));
- labelKey = "Password: ";
- lc = new LabeledComponent(getText(labelKey),
- getMnemonicInt(labelKey),
+ Messages.PASSWORD_ACCESSIBLE_NAME);
+
+ lc = new LabeledComponent(Messages.PASSWORD_COLON_,
+ Resources.getMnemonicInt(Messages.PASSWORD_COLON_),
passwordTF);
lc.setBorder(new EmptyBorder(0, 12, 0, 0)); // Left padding
lc.label.setFont(boldLabelFont);
@@ -250,7 +243,7 @@
remoteTFPanel.add(userPwdPanel, SOUTH);
String connectButtonToolTipText =
- getText("ConnectDialog.connectButton.toolTip");
+ Messages.CONNECT_DIALOG_CONNECT_BUTTON_TOOLTIP;
connectButton = new JButton(connectAction);
connectButton.setToolTipText(connectButtonToolTipText);
@@ -288,7 +281,7 @@
String colorStr =
String.format("%06x", hintTextColor.getRGB() & 0xFFFFFF);
remoteMessageLabel.setText("<html><font color=#" + colorStr + ">" +
- getText("remoteTF.usage"));
+ Messages.REMOTE_TF_USAGE);
}
if (localMessageLabel != null) {
localMessageLabel.setForeground(hintTextColor);
@@ -300,9 +293,9 @@
}
private void createActions() {
- connectAction = new AbstractAction(getText("Connect")) {
+ connectAction = new AbstractAction(Messages.CONNECT) {
/* init */ {
- putValue(Action.MNEMONIC_KEY, getMnemonicInt("Connect"));
+ putValue(Action.MNEMONIC_KEY, Resources.getMnemonicInt(Messages.CONNECT));
}
public void actionPerformed(ActionEvent ev) {
@@ -321,7 +314,6 @@
try {
if (txt.startsWith(JConsole.ROOT_URL)) {
String url = txt;
- String msg = null;
jConsole.addUrl(url, userName, password, false);
remoteTF.setText(JConsole.ROOT_URL);
return;
@@ -361,7 +353,7 @@
}
};
- cancelAction = new AbstractAction(getText("Cancel")) {
+ cancelAction = new AbstractAction(Messages.CANCEL) {
public void actionPerformed(ActionEvent ev) {
setVisible(false);
statusBar.setText("");
@@ -588,9 +580,9 @@
LocalVirtualMachine lvm = vmModel.vmAt(row);
if (!lvm.isManageable()) {
if (lvm.isAttachable()) {
- labelText = getText("Management Will Be Enabled");
+ labelText = Messages.MANAGEMENT_WILL_BE_ENABLED;
} else {
- labelText = getText("Management Not Enabled");
+ labelText = Messages.MANAGEMENT_NOT_ENABLED;
}
}
}
@@ -650,8 +642,8 @@
// Represents the list of managed VMs as a tabular data model.
private static class ManagedVmTableModel extends AbstractTableModel {
private static String[] columnNames = {
- Resources.getText("Column.Name"),
- Resources.getText("Column.PID"),
+ Messages.COLUMN_NAME,
+ Messages.COLUMN_PID,
};
private List<LocalVirtualMachine> vmList;
@@ -678,7 +670,7 @@
}
}
- public Class getColumnClass(int column) {
+ public Class<?> getColumnClass(int column) {
switch (column) {
case COL_NAME: return String.class;
case COL_PID: return Integer.class;
@@ -706,13 +698,6 @@
}
}
-
- // Convenience method
- private static String getText(String key) {
- return Resources.getText(key);
- }
-
-
// A blank component that takes up as much space as the
// button part of a JRadioButton.
private static class Padder extends JPanel {
@@ -721,7 +706,7 @@
Padder(JRadioButton radioButton) {
this.radioButton = radioButton;
- setAccessibleName(this, getText("Blank"));
+ setAccessibleName(this, Messages.BLANK);
}
public Dimension getPreferredSize() {
@@ -758,7 +743,6 @@
if (g == null) {
return null;
}
- String clippedText =
SwingUtilities.layoutCompoundLabel(button,
g.getFontMetrics(),
text,
--- a/jdk/src/share/classes/sun/tools/jconsole/CreateMBeanDialog.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/CreateMBeanDialog.java Fri May 25 12:24:57 2012 +0200
@@ -32,23 +32,21 @@
import java.util.Comparator;
import javax.swing.*;
-import javax.swing.Timer;
import javax.swing.border.*;
-import javax.swing.event.*;
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.InstanceAlreadyExistsException;
import javax.management.InstanceNotFoundException;
-import static sun.tools.jconsole.Resources.*;
+
import static sun.tools.jconsole.Utilities.*;
@SuppressWarnings("serial")
public class CreateMBeanDialog extends InternalDialog
implements ActionListener {
JConsole jConsole;
- JComboBox connections;
+ JComboBox<ProxyClient> connections;
JButton createMBeanButton, unregisterMBeanButton, cancelButton;
private static final String HOTSPOT_MBEAN =
@@ -60,7 +58,7 @@
this.jConsole = jConsole;
setAccessibleDescription(this,
- getText("Hotspot MBeans.dialog.accessibleDescription"));
+ Messages.HOTSPOT_MBEANS_DIALOG_ACCESSIBLE_DESCRIPTION);
Container cp = getContentPane();
((JComponent)cp).setBorder(new EmptyBorder(10, 10, 4, 10));
@@ -71,12 +69,10 @@
false,
true));
cp.add(centerPanel, BorderLayout.CENTER);
- connections = new JComboBox();
+ connections = new JComboBox<ProxyClient>();
updateConnections();
- centerPanel.add(new LabeledComponent(Resources.
- getText("Manage Hotspot MBeans "+
- "in: "),
+ centerPanel.add(new LabeledComponent(Resources.format(Messages.MANAGE_HOTSPOT_MBEANS_IN_COLON_),
connections));
JPanel bottomPanel = new JPanel(new BorderLayout());
@@ -85,11 +81,11 @@
JPanel buttonPanel = new JPanel();
bottomPanel.add(buttonPanel, BorderLayout.NORTH);
buttonPanel.add(createMBeanButton =
- new JButton(Resources.getText("Create")));
+ new JButton(Messages.CREATE));
buttonPanel.add(unregisterMBeanButton =
- new JButton(Resources.getText("Unregister")));
+ new JButton(Messages.UNREGISTER));
buttonPanel.add(cancelButton =
- new JButton(Resources.getText("Cancel")));
+ new JButton(Messages.CANCEL));
statusBar = new JLabel(" ", JLabel.CENTER);
bottomPanel.add(statusBar, BorderLayout.SOUTH);
@@ -133,7 +129,8 @@
}
}
connections.invalidate();
- connections.setModel(new DefaultComboBoxModel(data.toArray()));
+ connections.setModel(new DefaultComboBoxModel<ProxyClient>
+ (data.toArray(new ProxyClient[data.size()])));
connections.validate();
}
@@ -144,7 +141,6 @@
new Thread("CreateMBeanDialog.actionPerformed") {
public void run() {
try {
- StringBuffer buff = null;
Object c = connections.getSelectedItem();
if(c == null) return;
if(ev.getSource() == createMBeanButton) {
@@ -163,13 +159,9 @@
}
return;
} catch(InstanceAlreadyExistsException e) {
- statusBar.setText(Resources.
- getText("Error: MBeans already "
- + "exist"));
+ statusBar.setText(Messages.ERROR_COLON_MBEANS_ALREADY_EXIST);
} catch(InstanceNotFoundException e) {
- statusBar.setText(Resources.
- getText("Error: MBeans do not "
- + "exist"));
+ statusBar.setText(Messages.ERROR_COLON_MBEANS_DO_NOT_EXIST);
} catch(Exception e) {
statusBar.setText(e.toString());
}
--- a/jdk/src/share/classes/sun/tools/jconsole/Formatter.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/Formatter.java Fri May 25 12:24:57 2012 +0200
@@ -28,7 +28,6 @@
import java.text.*;
import java.util.*;
-import static sun.tools.jconsole.Resources.*;
class Formatter {
final static long SECOND = 1000;
@@ -48,7 +47,7 @@
String str;
if (t < 1 * MINUTE) {
String seconds = String.format("%.3f", t / (double)SECOND);
- str = Resources.getText("DurationSeconds", seconds);
+ str = Resources.format(Messages.DURATION_SECONDS, seconds);
} else {
long remaining = t;
long days = remaining / DAY;
@@ -58,13 +57,13 @@
long minutes = remaining / MINUTE;
if (t >= 1 * DAY) {
- str = Resources.getText("DurationDaysHoursMinutes",
- days, hours, minutes);
+ str = Resources.format(Messages.DURATION_DAYS_HOURS_MINUTES,
+ days, hours, minutes);
} else if (t >= 1 * HOUR) {
- str = Resources.getText("DurationHoursMinutes",
- hours, minutes);
+ str = Resources.format(Messages.DURATION_HOURS_MINUTES,
+ hours, minutes);
} else {
- str = Resources.getText("DurationMinutes", minutes);
+ str = Resources.format(Messages.DURATION_MINUTES, minutes);
}
}
return str;
@@ -88,8 +87,7 @@
return dateDF.format(time) + " " + timeWithSecondsDF.format(time);
}
- static DateFormat getDateTimeFormat(String key) {
- String dtfStr = getText(key);
+ static DateFormat getDateTimeFormat(String dtfStr) {
int dateStyle = -1;
int timeStyle = -1;
@@ -153,18 +151,18 @@
}
String[] strings = formatLongs(bytes);
for (int i = 0; i < n; i++) {
- strings[i] = getText("kbytes", strings[i]);
+ strings[i] = Resources.format(Messages.KBYTES, strings[i]);
}
return strings;
}
static String formatKBytes(long bytes) {
if (bytes == -1) {
- return getText("kbytes", "-1");
+ return Resources.format(Messages.KBYTES, "-1");
}
long kb = bytes / 1024;
- return getText("kbytes", justify(kb, 10));
+ return Resources.format(Messages.KBYTES, justify(kb, 10));
}
@@ -182,13 +180,13 @@
int exp = (int)Math.log10((double)vMax);
if (exp < 3) {
- s = Resources.getText("Size Bytes", v);
+ s = Resources.format(Messages.SIZE_BYTES, v);
} else if (exp < 6) {
- s = Resources.getText("Size Kb", trimDouble(v / Math.pow(10.0, 3)));
+ s = Resources.format(Messages.SIZE_KB, trimDouble(v / Math.pow(10.0, 3)));
} else if (exp < 9) {
- s = Resources.getText("Size Mb", trimDouble(v / Math.pow(10.0, 6)));
+ s = Resources.format(Messages.SIZE_MB, trimDouble(v / Math.pow(10.0, 6)));
} else {
- s = Resources.getText("Size Gb", trimDouble(v / Math.pow(10.0, 9)));
+ s = Resources.format(Messages.SIZE_GB, trimDouble(v / Math.pow(10.0, 9)));
}
if (html) {
s = s.replace(" ", " ");
--- a/jdk/src/share/classes/sun/tools/jconsole/HTMLPane.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/HTMLPane.java Fri May 25 12:24:57 2012 +0200
@@ -25,8 +25,6 @@
package sun.tools.jconsole;
-import java.awt.Color;
-
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
--- a/jdk/src/share/classes/sun/tools/jconsole/InternalDialog.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/InternalDialog.java Fri May 25 12:24:57 2012 +0200
@@ -30,8 +30,8 @@
import javax.swing.*;
+
import static javax.swing.JLayeredPane.*;
-import static sun.tools.jconsole.Resources.*;
/**
* Used instead of JDialog in a JDesktopPane/JInternalFrame environment.
@@ -73,7 +73,7 @@
private ImageIcon rightIcon =
new ImageIcon(InternalDialog.class.getResource("resources/masthead-right.png"));
- private Font font = Font.decode(getText("Masthead.font"));
+ private Font font = Font.decode(Messages.MASTHEAD_FONT);
private int gap = 10;
private String title;
--- a/jdk/src/share/classes/sun/tools/jconsole/JConsole.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/JConsole.java Fri May 25 12:24:57 2012 +0200
@@ -29,7 +29,6 @@
import java.awt.event.*;
import java.beans.*;
import java.io.*;
-import java.lang.reflect.InvocationTargetException;
import java.net.*;
import java.util.*;
import java.util.List;
@@ -38,8 +37,6 @@
import javax.swing.border.*;
import javax.swing.event.*;
import javax.swing.plaf.*;
-import javax.management.remote.JMXServiceURL;
-import javax.management.remote.JMXConnector;
import javax.security.auth.login.FailedLoginException;
import javax.net.ssl.SSLHandshakeException;
@@ -47,7 +44,6 @@
import sun.net.util.IPAddressUtil;
-import static sun.tools.jconsole.Resources.*;
import static sun.tools.jconsole.Utilities.*;
@SuppressWarnings("serial")
@@ -68,7 +64,7 @@
try {
UIManager.setLookAndFeel(systemLaF);
} catch (Exception e) {
- System.err.println(Resources.getText("JConsole: ", e.getMessage()));
+ System.err.println(Resources.format(Messages.JCONSOLE_COLON_, e.getMessage()));
}
}
}
@@ -87,7 +83,7 @@
private final static String title =
- Resources.getText("Java Monitoring & Management Console");
+ Messages.JAVA_MONITORING___MANAGEMENT_CONSOLE;
public final static String ROOT_URL =
"service:jmx:";
@@ -116,7 +112,7 @@
setRootPane(new FixedJRootPane());
setAccessibleDescription(this,
- getText("JConsole.accessibleDescription"));
+ Messages.JCONSOLE_ACCESSIBLE_DESCRIPTION);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
menuBar = new JMenuBar();
@@ -124,12 +120,12 @@
// TODO: Use Actions !
- JMenu connectionMenu = new JMenu(getText("Connection"));
- connectionMenu.setMnemonic(getMnemonicInt("Connection"));
+ JMenu connectionMenu = new JMenu(Messages.CONNECTION);
+ connectionMenu.setMnemonic(Resources.getMnemonicInt(Messages.CONNECTION));
menuBar.add(connectionMenu);
if(hotspot) {
- hotspotMI = new JMenuItem(getText("Hotspot MBeans..."));
- hotspotMI.setMnemonic(getMnemonicInt("Hotspot MBeans..."));
+ hotspotMI = new JMenuItem(Messages.HOTSPOT_MBEANS_ELLIPSIS);
+ hotspotMI.setMnemonic(Resources.getMnemonicInt(Messages.HOTSPOT_MBEANS_ELLIPSIS));
hotspotMI.setAccelerator(KeyStroke.
getKeyStroke(KeyEvent.VK_H,
InputEvent.CTRL_MASK));
@@ -139,8 +135,8 @@
connectionMenu.addSeparator();
}
- connectMI = new JMenuItem(Resources.getText("New Connection..."));
- connectMI.setMnemonic(getMnemonicInt("New Connection..."));
+ connectMI = new JMenuItem(Messages.NEW_CONNECTION_ELLIPSIS);
+ connectMI.setMnemonic(Resources.getMnemonicInt(Messages.NEW_CONNECTION_ELLIPSIS));
connectMI.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,
InputEvent.CTRL_MASK));
connectMI.addActionListener(this);
@@ -148,27 +144,27 @@
connectionMenu.addSeparator();
- exitMI = new JMenuItem(Resources.getText("Exit"));
- exitMI.setMnemonic(getMnemonicInt("Exit"));
+ exitMI = new JMenuItem(Messages.EXIT);
+ exitMI.setMnemonic(Resources.getMnemonicInt(Messages.EXIT));
exitMI.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F4,
InputEvent.ALT_MASK));
exitMI.addActionListener(this);
connectionMenu.add(exitMI);
- JMenu helpMenu = new JMenu(getText("HelpMenu.title"));
- helpMenu.setMnemonic(getMnemonicInt("HelpMenu.title"));
+ JMenu helpMenu = new JMenu(Messages.HELP_MENU_TITLE);
+ helpMenu.setMnemonic(Resources.getMnemonicInt(Messages.HELP_MENU_TITLE));
menuBar.add(helpMenu);
if (AboutDialog.isBrowseSupported()) {
- userGuideMI = new JMenuItem(getText("HelpMenu.UserGuide.title"));
- userGuideMI.setMnemonic(getMnemonicInt("HelpMenu.UserGuide.title"));
+ userGuideMI = new JMenuItem(Messages.HELP_MENU_USER_GUIDE_TITLE);
+ userGuideMI.setMnemonic(Resources.getMnemonicInt(Messages.HELP_MENU_USER_GUIDE_TITLE));
userGuideMI.addActionListener(this);
helpMenu.add(userGuideMI);
helpMenu.addSeparator();
}
- aboutMI = new JMenuItem(getText("HelpMenu.About.title"));
- aboutMI.setMnemonic(getMnemonicInt("HelpMenu.About.title"));
+ aboutMI = new JMenuItem(Messages.HELP_MENU_ABOUT_TITLE);
+ aboutMI.setMnemonic(Resources.getMnemonicInt(Messages.HELP_MENU_ABOUT_TITLE));
aboutMI.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0));
aboutMI.addActionListener(this);
helpMenu.add(aboutMI);
@@ -191,8 +187,8 @@
((BorderLayout)cp.getLayout()).
getLayoutComponent(BorderLayout.CENTER);
- windowMenu = new WindowMenu(Resources.getText("Window"));
- windowMenu.setMnemonic(getMnemonicInt("Window"));
+ windowMenu = new WindowMenu(Messages.WINDOW);
+ windowMenu.setMnemonic(Resources.getMnemonicInt(Messages.WINDOW));
// Add Window menu before Help menu
menuBar.add(windowMenu, menuBar.getComponentCount() - 1);
@@ -219,25 +215,25 @@
WindowMenu(String text) {
super(text);
- cascadeMI = new JMenuItem(Resources.getText("Cascade"));
- cascadeMI.setMnemonic(getMnemonicInt("Cascade"));
+ cascadeMI = new JMenuItem(Messages.CASCADE);
+ cascadeMI.setMnemonic(Resources.getMnemonicInt(Messages.CASCADE));
cascadeMI.addActionListener(JConsole.this);
add(cascadeMI);
- tileMI = new JMenuItem(Resources.getText("Tile"));
- tileMI.setMnemonic(getMnemonicInt("Tile"));
+ tileMI = new JMenuItem(Messages.TILE);
+ tileMI.setMnemonic(Resources.getMnemonicInt(Messages.TILE));
tileMI.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T,
InputEvent.CTRL_MASK));
tileMI.addActionListener(JConsole.this);
add(tileMI);
- minimizeAllMI = new JMenuItem(Resources.getText("Minimize All"));
- minimizeAllMI.setMnemonic(getMnemonicInt("Minimize All"));
+ minimizeAllMI = new JMenuItem(Messages.MINIMIZE_ALL);
+ minimizeAllMI.setMnemonic(Resources.getMnemonicInt(Messages.MINIMIZE_ALL));
minimizeAllMI.addActionListener(JConsole.this);
add(minimizeAllMI);
- restoreAllMI = new JMenuItem(Resources.getText("Restore All"));
- restoreAllMI.setMnemonic(getMnemonicInt("Restore All"));
+ restoreAllMI = new JMenuItem(Messages.RESTORE_ALL);
+ restoreAllMI.setMnemonic(Resources.getMnemonicInt(Messages.RESTORE_ALL));
restoreAllMI.addActionListener(JConsole.this);
add(restoreAllMI);
@@ -721,7 +717,7 @@
}
private String errorMessage(Exception ex) {
- String msg = Resources.getText("Connection failed");
+ String msg = Messages.CONNECTION_FAILED;
if (ex instanceof IOException || ex instanceof SecurityException) {
Throwable cause = null;
Throwable c = ex.getCause();
@@ -732,7 +728,7 @@
if (cause instanceof ConnectException) {
return msg + ": " + cause.getMessage();
} else if (cause instanceof UnknownHostException) {
- return Resources.getText("Unknown Host", cause.getMessage());
+ return Resources.format(Messages.UNKNOWN_HOST, cause.getMessage());
} else if (cause instanceof NoRouteToHostException) {
return msg + ": " + cause.getMessage();
} else if (cause instanceof FailedLoginException) {
@@ -741,7 +737,7 @@
return msg + ": "+ cause.getMessage();
}
} else if (ex instanceof MalformedURLException) {
- return Resources.getText("Invalid URL", ex.getMessage());
+ return Resources.format(Messages.INVALID_URL, ex.getMessage());
}
return msg + ": " + ex.getMessage();
}
@@ -770,7 +766,7 @@
private static void usage() {
- System.err.println(Resources.getText("zz usage text", "jconsole"));
+ System.err.println(Resources.format(Messages.ZZ_USAGE_TEXT, "jconsole"));
}
private static void mainInit(final List<String> urls,
@@ -1003,13 +999,13 @@
pluginService = plugins;
} catch (ServiceConfigurationError e) {
// Error occurs during initialization of plugin
- System.out.println(Resources.getText("Fail to load plugin",
+ System.out.println(Resources.format(Messages.FAIL_TO_LOAD_PLUGIN,
e.getMessage()));
} catch (MalformedURLException e) {
if (JConsole.isDebug()) {
e.printStackTrace();
}
- System.out.println(Resources.getText("Invalid plugin path",
+ System.out.println(Resources.format(Messages.INVALID_PLUGIN_PATH,
e.getMessage()));
}
}
--- a/jdk/src/share/classes/sun/tools/jconsole/LabeledComponent.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/LabeledComponent.java Fri May 25 12:24:57 2012 +0200
@@ -26,7 +26,6 @@
package sun.tools.jconsole;
import java.awt.*;
-import java.awt.event.*;
import javax.swing.*;
--- a/jdk/src/share/classes/sun/tools/jconsole/LocalVirtualMachine.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/LocalVirtualMachine.java Fri May 25 12:24:57 2012 +0200
@@ -39,7 +39,6 @@
// Sun private
import sun.management.ConnectorAddressLink;
import sun.jvmstat.monitor.HostIdentifier;
-import sun.jvmstat.monitor.Monitor;
import sun.jvmstat.monitor.MonitoredHost;
import sun.jvmstat.monitor.MonitoredVm;
import sun.jvmstat.monitor.MonitoredVmUtil;
@@ -131,7 +130,7 @@
private static void getMonitoredVMs(Map<Integer, LocalVirtualMachine> map) {
MonitoredHost host;
- Set vms;
+ Set<Integer> vms;
try {
host = MonitoredHost.getMonitoredHost(new HostIdentifier((String)null));
vms = host.activeVms();
--- a/jdk/src/share/classes/sun/tools/jconsole/MBeansTab.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/MBeansTab.java Fri May 25 12:24:57 2012 +0200
@@ -52,7 +52,7 @@
private XDataViewer viewer;
public static String getTabName() {
- return Resources.getText("MBeans");
+ return Messages.MBEANS;
}
public MBeansTab(final VMPanel vmPanel) {
--- a/jdk/src/share/classes/sun/tools/jconsole/MaximizableInternalFrame.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/MaximizableInternalFrame.java Fri May 25 12:24:57 2012 +0200
@@ -222,7 +222,7 @@
static {
if (JConsole.IS_WIN) {
try {
- Class Part =
+ Class<?> Part =
Class.forName("com.sun.java.swing.plaf.windows.TMSchema$Part");
if (Part != null) {
WP_MINBUTTON = Part.getField("WP_MINBUTTON").get(null);
--- a/jdk/src/share/classes/sun/tools/jconsole/MemoryPoolProxy.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/MemoryPoolProxy.java Fri May 25 12:24:57 2012 +0200
@@ -26,7 +26,6 @@
package sun.tools.jconsole;
import javax.management.ObjectName;
-import java.lang.management.ManagementFactory;
import java.lang.management.MemoryPoolMXBean;
import java.lang.management.MemoryUsage;
import com.sun.management.GarbageCollectorMXBean;
@@ -34,21 +33,18 @@
import java.util.HashMap;
import java.util.Set;
import java.util.Map;
-import java.util.Map.Entry;
import static java.lang.management.ManagementFactory.*;
public class MemoryPoolProxy {
private String poolName;
private ProxyClient client;
- private ObjectName objName;
private MemoryPoolMXBean pool;
private Map<ObjectName,Long> gcMBeans;
private GcInfo lastGcInfo;
public MemoryPoolProxy(ProxyClient client, ObjectName poolName) throws java.io.IOException {
this.client = client;
- this.objName = objName;
this.pool = client.getMXBean(poolName, MemoryPoolMXBean.class);
this.poolName = this.pool.getName();
this.gcMBeans = new HashMap<ObjectName,Long>();
@@ -73,10 +69,6 @@
return (gcMBeans.size() != 0);
}
- public ObjectName getObjectName() {
- return objName;
- }
-
public MemoryPoolStat getStat() throws java.io.IOException {
long usageThreshold = (pool.isUsageThresholdSupported()
? pool.getUsageThreshold()
--- a/jdk/src/share/classes/sun/tools/jconsole/MemoryPoolStat.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/MemoryPoolStat.java Fri May 25 12:24:57 2012 +0200
@@ -129,6 +129,6 @@
* null if no GC occurs.
*/
public MemoryUsage getAfterGcUsage() {
- return beforeGcUsage;
+ return afterGcUsage;
}
}
--- a/jdk/src/share/classes/sun/tools/jconsole/MemoryTab.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/MemoryTab.java Fri May 25 12:24:57 2012 +0200
@@ -38,18 +38,14 @@
import javax.management.openmbean.CompositeData;
import javax.swing.*;
import javax.swing.border.*;
-import javax.swing.text.*;
-import sun.management.*;
import static sun.tools.jconsole.Formatter.*;
-import static sun.tools.jconsole.OverviewPanel.*;
-import static sun.tools.jconsole.Resources.*;
import static sun.tools.jconsole.Utilities.*;
@SuppressWarnings("serial")
class MemoryTab extends Tab implements ActionListener, ItemListener {
- JComboBox plotterChoice;
+ JComboBox<Plotter> plotterChoice;
TimeComboBox timeComboBox;
JButton gcButton;
@@ -67,19 +63,11 @@
private static final String committedKey = "committed";
private static final String maxKey = "max";
private static final String thresholdKey = "threshold";
-
- private static final String usedName = Resources.getText("Used");
- private static final String committedName = Resources.getText("Committed");
- private static final String maxName = Resources.getText("Max");
- private static final String thresholdName = Resources.getText("Threshold");
-
private static final Color usedColor = Plotter.defaultColor;
private static final Color committedColor = null;
private static final Color maxColor = null;
private static final Color thresholdColor = Color.red;
- private static final String infoLabelFormat = "MemoryTab.infoLabelFormat";
-
/*
Hierarchy of panels and layouts for this tab:
@@ -105,7 +93,7 @@
public static String getTabName() {
- return getText("Memory");
+ return Messages.MEMORY;
}
public MemoryTab(VMPanel vmPanel) {
@@ -125,32 +113,32 @@
topPanel.add(controlPanel, BorderLayout.CENTER);
// Plotter choice
- plotterChoice = new JComboBox();
+ plotterChoice = new JComboBox<Plotter>();
plotterChoice.addItemListener(this);
- controlPanel.add(new LabeledComponent(getText("Chart:"),
- getMnemonicInt("Chart:"),
+ controlPanel.add(new LabeledComponent(Messages.CHART_COLON,
+ Resources.getMnemonicInt(Messages.CHART_COLON),
plotterChoice));
// Range control
timeComboBox = new TimeComboBox();
- controlPanel.add(new LabeledComponent(getText("Time Range:"),
- getMnemonicInt("Time Range:"),
+ controlPanel.add(new LabeledComponent(Messages.TIME_RANGE_COLON,
+ Resources.getMnemonicInt(Messages.TIME_RANGE_COLON),
timeComboBox));
- gcButton = new JButton(getText("Perform GC"));
- gcButton.setMnemonic(getMnemonicInt("Perform GC"));
+ gcButton = new JButton(Messages.PERFORM_GC);
+ gcButton.setMnemonic(Resources.getMnemonicInt(Messages.PERFORM_GC));
gcButton.addActionListener(this);
- gcButton.setToolTipText(getText("Perform GC.toolTip"));
+ gcButton.setToolTipText(Messages.PERFORM_GC_TOOLTIP);
JPanel topRightPanel = new JPanel();
topRightPanel.setBorder(new EmptyBorder(0, 65-8, 0, 70));
topRightPanel.add(gcButton);
topPanel.add(topRightPanel, BorderLayout.AFTER_LINE_ENDS);
- bottomPanel.setBorder(new CompoundBorder(new TitledBorder(getText("Details")),
+ bottomPanel.setBorder(new CompoundBorder(new TitledBorder(Messages.DETAILS),
new EmptyBorder(10, 10, 10, 10)));
details = new HTMLPane();
- setAccessibleName(details, getText("Details"));
+ setAccessibleName(details, Messages.DETAILS);
bottomPanel.add(new JScrollPane(details), BorderLayout.CENTER);
poolChart = new PoolChart();
@@ -165,31 +153,31 @@
heapPlotter = new Plotter(Plotter.Unit.BYTES) {
public String toString() {
- return Resources.getText("Heap Memory Usage");
+ return Messages.HEAP_MEMORY_USAGE;
}
};
proxyClient.addWeakPropertyChangeListener(heapPlotter);
nonHeapPlotter = new Plotter(Plotter.Unit.BYTES) {
public String toString() {
- return Resources.getText("Non-Heap Memory Usage");
+ return Messages.NON_HEAP_MEMORY_USAGE;
}
};
setAccessibleName(heapPlotter,
- getText("MemoryTab.heapPlotter.accessibleName"));
+ Messages.MEMORY_TAB_HEAP_PLOTTER_ACCESSIBLE_NAME);
setAccessibleName(nonHeapPlotter,
- getText("MemoryTab.nonHeapPlotter.accessibleName"));
+ Messages.MEMORY_TAB_NON_HEAP_PLOTTER_ACCESSIBLE_NAME);
proxyClient.addWeakPropertyChangeListener(nonHeapPlotter);
- heapPlotter.createSequence(usedKey, usedName, usedColor, true);
- heapPlotter.createSequence(committedKey, committedName, committedColor, false);
- heapPlotter.createSequence(maxKey, maxName, maxColor, false);
+ heapPlotter.createSequence(usedKey, Messages.USED, usedColor, true);
+ heapPlotter.createSequence(committedKey, Messages.COMMITTED, committedColor, false);
+ heapPlotter.createSequence(maxKey, Messages.MAX, maxColor, false);
- nonHeapPlotter.createSequence(usedKey, usedName, usedColor, true);
- nonHeapPlotter.createSequence(committedKey, committedName, committedColor, false);
- nonHeapPlotter.createSequence(maxKey, maxName, maxColor, false);
+ nonHeapPlotter.createSequence(usedKey, Messages.USED, usedColor, true);
+ nonHeapPlotter.createSequence(committedKey, Messages.COMMITTED, committedColor, false);
+ nonHeapPlotter.createSequence(maxKey, Messages.MAX, maxColor, false);
plotterList.add(heapPlotter);
plotterList.add(nonHeapPlotter);
@@ -202,8 +190,8 @@
for (ObjectName objectName : objectNames) {
String type = objectName.getKeyProperty("type");
if (type.equals("MemoryPool")) {
- String name = getText("MemoryPoolLabel",
- objectName.getKeyProperty("name"));
+ String name = Resources.format(Messages.MEMORY_POOL_LABEL,
+ objectName.getKeyProperty("name"));
// Heap or non-heap?
boolean isHeap = false;
AttributeList al =
@@ -215,10 +203,10 @@
PoolPlotter poolPlotter = new PoolPlotter(objectName, name, isHeap);
proxyClient.addWeakPropertyChangeListener(poolPlotter);
- poolPlotter.createSequence(usedKey, usedName, usedColor, true);
- poolPlotter.createSequence(committedKey, committedName, committedColor, false);
- poolPlotter.createSequence(maxKey, maxName, maxColor, false);
- poolPlotter.createSequence(thresholdKey, thresholdName, thresholdColor, false);
+ poolPlotter.createSequence(usedKey, Messages.USED, usedColor, true);
+ poolPlotter.createSequence(committedKey, Messages.COMMITTED, committedColor, false);
+ poolPlotter.createSequence(maxKey, Messages.MAX, maxColor, false);
+ poolPlotter.createSequence(thresholdKey, Messages.THRESHOLD, thresholdColor, false);
poolPlotter.setUseDashedTransitions(thresholdKey, true);
if (isHeap) {
@@ -286,7 +274,6 @@
max = new long[n];
threshold = new long[n];
timeStamp = System.currentTimeMillis();
- int poolCount = 0;
for (int i = 0; i < n; i++) {
Plotter plotter = plotterList.get(i);
@@ -400,22 +387,22 @@
//long time = plotter.getLastTimeStamp();
long time = System.currentTimeMillis();
String timeStamp = formatDateTime(time);
- text += newRow(getText("Time"), timeStamp);
+ text += newRow(Messages.TIME, timeStamp);
long used = plotter.getLastValue(usedKey);
long committed = plotter.getLastValue(committedKey);
long max = plotter.getLastValue(maxKey);
long threshold = plotter.getLastValue(thresholdKey);
- text += newRow(getText("Used"), formatKBytes(used));
+ text += newRow(Messages.USED, formatKBytes(used));
if (committed > 0L) {
- text += newRow(getText("Committed"), formatKBytes(committed));
+ text += newRow(Messages.COMMITTED, formatKBytes(committed));
}
if (max > 0L) {
- text += newRow(getText("Max"), formatKBytes(max));
+ text += newRow(Messages.MAX, formatKBytes(max));
}
if (threshold > 0L) {
- text += newRow(getText("Usage Threshold"), formatKBytes(threshold));
+ text += newRow(Messages.USAGE_THRESHOLD, formatKBytes(threshold));
}
try {
@@ -427,11 +414,11 @@
String gcName = garbageCollectorMBean.getName();
long gcCount = garbageCollectorMBean.getCollectionCount();
long gcTime = garbageCollectorMBean.getCollectionTime();
- String str = getText("GC time details", justify(formatTime(gcTime), 14),
- gcName,
- String.format("%,d",gcCount));
+ String str = Resources.format(Messages.GC_TIME_DETAILS, justify(formatTime(gcTime), 14),
+ gcName,
+ String.format("%,d",gcCount));
if (!descPrinted) {
- text += newRow(getText("GC time"), str);
+ text += newRow(Messages.GC_TIME, str);
descPrinted = true;
} else {
text += newRow(null, str);
@@ -465,8 +452,8 @@
this.isHeap = isHeap;
setAccessibleName(this,
- getText("MemoryTab.poolPlotter.accessibleName",
- name));
+ Resources.format(Messages.MEMORY_TAB_POOL_PLOTTER_ACCESSIBLE_NAME,
+ name));
}
@@ -627,7 +614,7 @@
g.setColor(nonHeapColor);
g.fillRect(nonHeapRect.x + 1, nonHeapRect.y + 1, nonHeapRect.width - 1, nonHeapRect.height - 1);
- String str = getText("Heap");
+ String str = Messages.HEAP;
int stringWidth = fm.stringWidth(str);
int x = heapRect.x + (heapRect.width - stringWidth) / 2;
int y = heapRect.y + heapRect.height - 6;
@@ -639,7 +626,7 @@
g.setColor(Color.black);
g.drawString(str, x, y);
- str = getText("Non-Heap");
+ str = Messages.NON_HEAP;
stringWidth = fm.stringWidth(str);
x = nonHeapRect.x + (nonHeapRect.width - stringWidth) / 2;
y = nonHeapRect.y + nonHeapRect.height - 6;
@@ -728,26 +715,26 @@
protected class AccessiblePoolChart extends AccessibleJPanel {
public String getAccessibleName() {
- String name = getText("MemoryTab.poolChart.accessibleName");
+ String name = Messages.MEMORY_TAB_POOL_CHART_ACCESSIBLE_NAME;
String keyValueList = "";
for (PoolPlotter poolPlotter : poolPlotters) {
String value = (poolPlotter.value * 100 / poolPlotter.max) + "%";
// Assume format string ends with newline
keyValueList +=
- getText("Plotter.accessibleName.keyAndValue",
- poolPlotter.toString(), value);
+ Resources.format(Messages.PLOTTER_ACCESSIBLE_NAME_KEY_AND_VALUE,
+ poolPlotter.toString(), value);
if (poolPlotter.threshold > 0L) {
String threshold =
(poolPlotter.threshold * 100 / poolPlotter.max) + "%";
if (poolPlotter.value > poolPlotter.threshold) {
keyValueList +=
- getText("MemoryTab.poolChart.aboveThreshold",
- threshold);
+ Resources.format(Messages.MEMORY_TAB_POOL_CHART_ABOVE_THRESHOLD,
+ threshold);
} else {
keyValueList +=
- getText("MemoryTab.poolChart.belowThreshold",
- threshold);
+ Resources.format(Messages.MEMORY_TAB_POOL_CHART_BELOW_THRESHOLD,
+ threshold);
}
}
}
@@ -767,14 +754,14 @@
private static class MemoryOverviewPanel extends OverviewPanel {
MemoryOverviewPanel() {
- super(getText("Heap Memory Usage"), usedKey, usedName, Plotter.Unit.BYTES);
+ super(Messages.HEAP_MEMORY_USAGE, usedKey, Messages.USED, Plotter.Unit.BYTES);
}
private void updateMemoryInfo(long used, long committed, long max) {
- getInfoLabel().setText(getText(infoLabelFormat,
- formatBytes(used, true),
- formatBytes(committed, true),
- formatBytes(max, true)));
+ getInfoLabel().setText(Resources.format(Messages.MEMORY_TAB_INFO_LABEL_FORMAT,
+ formatBytes(used, true),
+ formatBytes(committed, true),
+ formatBytes(max, true)));
}
}
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/tools/jconsole/Messages.java Fri May 25 12:24:57 2012 +0200
@@ -0,0 +1,316 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package sun.tools.jconsole;
+
+
+/**
+ * Class that contains localized messages.
+ *
+ */
+final public class Messages {
+ private static final String BUNDLE_NAME = "sun.tools.jconsole.resources.messages";
+
+ static {
+ Resources.initializeMessages(Messages.class, BUNDLE_NAME);
+ }
+ // TODO:
+ // The names of some of the constants below looks strange.
+ // That's because they were generated programmatically
+ // from the messages. They should be cleaned up,
+ // ___ should be removed etc.
+ public static String ONE_DAY;
+ public static String ONE_HOUR;
+ public static String ONE_MIN;
+ public static String ONE_MONTH;
+ public static String ONE_YEAR;
+ public static String TWO_HOURS;
+ public static String THREE_HOURS;
+ public static String THREE_MONTHS;
+ public static String FIVE_MIN;
+ public static String SIX_HOURS;
+ public static String SIX_MONTHS;
+ public static String SEVEN_DAYS;
+ public static String TEN_MIN;
+ public static String TWELVE_HOURS;
+ public static String THIRTY_MIN;
+ public static String LESS_THAN;
+ public static String A_LOT_LESS_THAN;
+ public static String GREATER_THAN;
+ public static String ACTION_CAPITALIZED;
+ public static String ACTION_INFO_CAPITALIZED;
+ public static String ALL;
+ public static String ARCHITECTURE;
+ public static String ATTRIBUTE;
+ public static String ATTRIBUTE_VALUE;
+ public static String ATTRIBUTE_VALUES;
+ public static String ATTRIBUTES;
+ public static String BLANK;
+ public static String BLOCKED_COUNT_WAITED_COUNT;
+ public static String BOOT_CLASS_PATH;
+ public static String BORDERED_COMPONENT_MORE_OR_LESS_BUTTON_TOOLTIP;
+ public static String CPU_USAGE;
+ public static String CPU_USAGE_FORMAT;
+ public static String CANCEL;
+ public static String CASCADE;
+ public static String CHART_COLON;
+ public static String CLASS_PATH;
+ public static String CLASS_NAME;
+ public static String CLASS_TAB_INFO_LABEL_FORMAT;
+ public static String CLASS_TAB_LOADED_CLASSES_PLOTTER_ACCESSIBLE_NAME;
+ public static String CLASSES;
+ public static String CLOSE;
+ public static String COLUMN_NAME;
+ public static String COLUMN_PID;
+ public static String COMMITTED_MEMORY;
+ public static String COMMITTED_VIRTUAL_MEMORY;
+ public static String COMMITTED;
+ public static String CONNECT;
+ public static String CONNECT_DIALOG_CONNECT_BUTTON_TOOLTIP;
+ public static String CONNECT_DIALOG_ACCESSIBLE_DESCRIPTION;
+ public static String CONNECT_DIALOG_MASTHEAD_ACCESSIBLE_NAME;
+ public static String CONNECT_DIALOG_MASTHEAD_TITLE;
+ public static String CONNECT_DIALOG_STATUS_BAR_ACCESSIBLE_NAME;
+ public static String CONNECT_DIALOG_TITLE;
+ public static String CONNECTED_PUNCTUATION_CLICK_TO_DISCONNECT_;
+ public static String CONNECTION_FAILED;
+ public static String CONNECTION;
+ public static String CONNECTION_NAME;
+ public static String CONNECTION_NAME__DISCONNECTED_;
+ public static String CONSTRUCTOR;
+ public static String CURRENT_CLASSES_LOADED;
+ public static String CURRENT_HEAP_SIZE;
+ public static String CURRENT_VALUE;
+ public static String CREATE;
+ public static String DAEMON_THREADS;
+ public static String DISCONNECTED_PUNCTUATION_CLICK_TO_CONNECT_;
+ public static String DOUBLE_CLICK_TO_EXPAND_FORWARD_SLASH_COLLAPSE;
+ public static String DOUBLE_CLICK_TO_VISUALIZE;
+ public static String DESCRIPTION;
+ public static String DESCRIPTOR;
+ public static String DETAILS;
+ public static String DETECT_DEADLOCK;
+ public static String DETECT_DEADLOCK_TOOLTIP;
+ public static String DIMENSION_IS_NOT_SUPPORTED_COLON;
+ public static String DISCARD_CHART;
+ public static String DURATION_DAYS_HOURS_MINUTES;
+ public static String DURATION_HOURS_MINUTES;
+ public static String DURATION_MINUTES;
+ public static String DURATION_SECONDS;
+ public static String EMPTY_ARRAY;
+ public static String ERROR;
+ public static String ERROR_COLON_MBEANS_ALREADY_EXIST;
+ public static String ERROR_COLON_MBEANS_DO_NOT_EXIST;
+ public static String EVENT;
+ public static String EXIT;
+ public static String FAIL_TO_LOAD_PLUGIN;
+ public static String FILE_CHOOSER_FILE_EXISTS_CANCEL_OPTION;
+ public static String FILE_CHOOSER_FILE_EXISTS_MESSAGE;
+ public static String FILE_CHOOSER_FILE_EXISTS_OK_OPTION;
+ public static String FILE_CHOOSER_FILE_EXISTS_TITLE;
+ public static String FILE_CHOOSER_SAVED_FILE;
+ public static String FILE_CHOOSER_SAVE_FAILED_MESSAGE;
+ public static String FILE_CHOOSER_SAVE_FAILED_TITLE;
+ public static String FREE_PHYSICAL_MEMORY;
+ public static String FREE_SWAP_SPACE;
+ public static String GARBAGE_COLLECTOR;
+ public static String GC_INFO;
+ public static String GC_TIME;
+ public static String GC_TIME_DETAILS;
+ public static String HEAP_MEMORY_USAGE;
+ public static String HEAP;
+ public static String HELP_ABOUT_DIALOG_ACCESSIBLE_DESCRIPTION;
+ public static String HELP_ABOUT_DIALOG_JCONSOLE_VERSION;
+ public static String HELP_ABOUT_DIALOG_JAVA_VERSION;
+ public static String HELP_ABOUT_DIALOG_MASTHEAD_ACCESSIBLE_NAME;
+ public static String HELP_ABOUT_DIALOG_MASTHEAD_TITLE;
+ public static String HELP_ABOUT_DIALOG_TITLE;
+ public static String HELP_ABOUT_DIALOG_USER_GUIDE_LINK;
+ public static String HELP_ABOUT_DIALOG_USER_GUIDE_LINK_URL;
+ public static String HELP_MENU_ABOUT_TITLE;
+ public static String HELP_MENU_USER_GUIDE_TITLE;
+ public static String HELP_MENU_TITLE;
+ public static String HOTSPOT_MBEANS_ELLIPSIS;
+ public static String HOTSPOT_MBEANS_DIALOG_ACCESSIBLE_DESCRIPTION;
+ public static String IMPACT;
+ public static String INFO;
+ public static String INFO_CAPITALIZED;
+ public static String INVALID_PLUGIN_PATH;
+ public static String INVALID_URL;
+ public static String IS;
+ public static String JAVA_MONITORING___MANAGEMENT_CONSOLE;
+ public static String JCONSOLE_COLON_;
+ public static String JCONSOLE_VERSION; // in version template
+ public static String JCONSOLE_ACCESSIBLE_DESCRIPTION;
+ public static String JIT_COMPILER;
+ public static String LIBRARY_PATH;
+ public static String LIVE_THREADS;
+ public static String LOADED;
+ public static String LOCAL_PROCESS_COLON;
+ public static String MASTHEAD_FONT;
+ public static String MANAGEMENT_NOT_ENABLED;
+ public static String MANAGEMENT_WILL_BE_ENABLED;
+ public static String MBEAN_ATTRIBUTE_INFO;
+ public static String MBEAN_INFO;
+ public static String MBEAN_NOTIFICATION_INFO;
+ public static String MBEAN_OPERATION_INFO;
+ public static String MBEANS;
+ public static String MBEANS_TAB_CLEAR_NOTIFICATIONS_BUTTON;
+ public static String MBEANS_TAB_CLEAR_NOTIFICATIONS_BUTTON_TOOLTIP;
+ public static String MBEANS_TAB_COMPOSITE_NAVIGATION_MULTIPLE;
+ public static String MBEANS_TAB_COMPOSITE_NAVIGATION_SINGLE;
+ public static String MBEANS_TAB_REFRESH_ATTRIBUTES_BUTTON;
+ public static String MBEANS_TAB_REFRESH_ATTRIBUTES_BUTTON_TOOLTIP;
+ public static String MBEANS_TAB_SUBSCRIBE_NOTIFICATIONS_BUTTON;
+ public static String MBEANS_TAB_SUBSCRIBE_NOTIFICATIONS_BUTTON_TOOLTIP;
+ public static String MBEANS_TAB_TABULAR_NAVIGATION_MULTIPLE;
+ public static String MBEANS_TAB_TABULAR_NAVIGATION_SINGLE;
+ public static String MBEANS_TAB_UNSUBSCRIBE_NOTIFICATIONS_BUTTON;
+ public static String MBEANS_TAB_UNSUBSCRIBE_NOTIFICATIONS_BUTTON_TOOLTIP;
+ public static String MANAGE_HOTSPOT_MBEANS_IN_COLON_;
+ public static String MAX;
+ public static String MAXIMUM_HEAP_SIZE;
+ public static String MEMORY;
+ public static String MEMORY_POOL_LABEL;
+ public static String MEMORY_TAB_HEAP_PLOTTER_ACCESSIBLE_NAME;
+ public static String MEMORY_TAB_INFO_LABEL_FORMAT;
+ public static String MEMORY_TAB_NON_HEAP_PLOTTER_ACCESSIBLE_NAME;
+ public static String MEMORY_TAB_POOL_CHART_ABOVE_THRESHOLD;
+ public static String MEMORY_TAB_POOL_CHART_ACCESSIBLE_NAME;
+ public static String MEMORY_TAB_POOL_CHART_BELOW_THRESHOLD;
+ public static String MEMORY_TAB_POOL_PLOTTER_ACCESSIBLE_NAME;
+ public static String MESSAGE;
+ public static String METHOD_SUCCESSFULLY_INVOKED;
+ public static String MINIMIZE_ALL;
+ public static String MONITOR_LOCKED;
+ public static String NAME;
+ public static String NAME_STATE;
+ public static String NAME_STATE_LOCK_NAME;
+ public static String NAME_STATE_LOCK_NAME_LOCK_OWNER;
+ public static String NAME_AND_BUILD;// in version template
+ public static String NEW_CONNECTION_ELLIPSIS;
+ public static String NO_DEADLOCK_DETECTED;
+ public static String NON_HEAP_MEMORY_USAGE;
+ public static String NON_HEAP;
+ public static String NOTIFICATION;
+ public static String NOTIFICATION_BUFFER;
+ public static String NOTIFICATIONS;
+ public static String NOTIF_TYPES;
+ public static String NUMBER_OF_THREADS;
+ public static String NUMBER_OF_LOADED_CLASSES;
+ public static String NUMBER_OF_PROCESSORS;
+ public static String OBJECT_NAME;
+ public static String OPERATING_SYSTEM;
+ public static String OPERATION;
+ public static String OPERATION_INVOCATION;
+ public static String OPERATION_RETURN_VALUE;
+ public static String OPERATIONS;
+ public static String OVERVIEW;
+ public static String OVERVIEW_PANEL_PLOTTER_ACCESSIBLE_NAME;
+ public static String PARAMETER;
+ public static String PASSWORD_COLON_;
+ public static String PASSWORD_ACCESSIBLE_NAME;
+ public static String PEAK;
+ public static String PERFORM_GC;
+ public static String PERFORM_GC_TOOLTIP;
+ public static String PLOTTER_ACCESSIBLE_NAME;
+ public static String PLOTTER_ACCESSIBLE_NAME_KEY_AND_VALUE;
+ public static String PLOTTER_ACCESSIBLE_NAME_NO_DATA;
+ public static String PLOTTER_SAVE_AS_MENU_ITEM;
+ public static String PLOTTER_TIME_RANGE_MENU;
+ public static String PROBLEM_ADDING_LISTENER;
+ public static String PROBLEM_DISPLAYING_MBEAN;
+ public static String PROBLEM_INVOKING;
+ public static String PROBLEM_REMOVING_LISTENER;
+ public static String PROBLEM_SETTING_ATTRIBUTE;
+ public static String PROCESS_CPU_TIME;
+ public static String READABLE;
+ public static String RECONNECT;
+ public static String REMOTE_PROCESS_COLON;
+ public static String REMOTE_PROCESS_TEXT_FIELD_ACCESSIBLE_NAME;
+ public static String RESTORE_ALL;
+ public static String RETURN_TYPE;
+ public static String SEQ_NUM;
+ public static String SIZE_BYTES;
+ public static String SIZE_GB;
+ public static String SIZE_KB;
+ public static String SIZE_MB;
+ public static String SOURCE;
+ public static String STACK_TRACE;
+ public static String SUMMARY_TAB_HEADER_DATE_TIME_FORMAT;
+ public static String SUMMARY_TAB_PENDING_FINALIZATION_LABEL;
+ public static String SUMMARY_TAB_PENDING_FINALIZATION_VALUE;
+ public static String SUMMARY_TAB_TAB_NAME;
+ public static String SUMMARY_TAB_VM_VERSION;
+ public static String THREADS;
+ public static String THREAD_TAB_THREAD_INFO_ACCESSIBLE_NAME;
+ public static String THREAD_TAB_THREAD_PLOTTER_ACCESSIBLE_NAME;
+ public static String THRESHOLD;
+ public static String TILE;
+ public static String TIME_RANGE_COLON;
+ public static String TIME;
+ public static String TIME_STAMP;
+ public static String TOTAL_LOADED;
+ public static String TOTAL_CLASSES_LOADED;
+ public static String TOTAL_CLASSES_UNLOADED;
+ public static String TOTAL_COMPILE_TIME;
+ public static String TOTAL_PHYSICAL_MEMORY;
+ public static String TOTAL_THREADS_STARTED;
+ public static String TOTAL_SWAP_SPACE;
+ public static String TYPE;
+ public static String UNAVAILABLE;
+ public static String UNKNOWN_CAPITALIZED;
+ public static String UNKNOWN_HOST;
+ public static String UNREGISTER;
+ public static String UPTIME;
+ public static String USAGE_THRESHOLD;
+ public static String REMOTE_TF_USAGE;
+ public static String USED;
+ public static String USERNAME_COLON_;
+ public static String USERNAME_ACCESSIBLE_NAME;
+ public static String USER_DATA;
+ public static String VIRTUAL_MACHINE;
+ public static String VM_ARGUMENTS;
+ public static String VMINTERNAL_FRAME_ACCESSIBLE_DESCRIPTION;
+ public static String VALUE;
+ public static String VENDOR;
+ public static String VERBOSE_OUTPUT;
+ public static String VERBOSE_OUTPUT_TOOLTIP;
+ public static String VIEW;
+ public static String WINDOW;
+ public static String WINDOWS;
+ public static String WRITABLE;
+ public static String CONNECTION_FAILED1;
+ public static String CONNECTION_FAILED2;
+ public static String CONNECTION_LOST1;
+ public static String CONNECTING_TO1;
+ public static String CONNECTING_TO2;
+ public static String DEADLOCK_TAB;
+ public static String DEADLOCK_TAB_N;
+ public static String EXPAND;
+ public static String KBYTES;
+ public static String PLOT;
+ public static String VISUALIZE;
+ public static String ZZ_USAGE_TEXT;
+}
--- a/jdk/src/share/classes/sun/tools/jconsole/OverviewPanel.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/OverviewPanel.java Fri May 25 12:24:57 2012 +0200
@@ -26,14 +26,12 @@
package sun.tools.jconsole;
import java.awt.*;
-import java.awt.event.*;
import javax.swing.*;
-import javax.swing.border.*;
+
import static javax.swing.SwingConstants.*;
import static sun.tools.jconsole.JConsole.*;
-import static sun.tools.jconsole.Resources.*;
import static sun.tools.jconsole.Utilities.*;
@@ -68,7 +66,7 @@
}
plotter.createSequence(plotterKey, plotterName, PLOTTER_COLOR, true);
setAccessibleName(plotter,
- getText("OverviewPanel.plotter.accessibleName",
+ Resources.format(Messages.OVERVIEW_PANEL_PLOTTER_ACCESSIBLE_NAME,
title));
setPlotter(plotter);
}
--- a/jdk/src/share/classes/sun/tools/jconsole/OverviewTab.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/OverviewTab.java Fri May 25 12:24:57 2012 +0200
@@ -26,15 +26,11 @@
package sun.tools.jconsole;
import java.awt.*;
-import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import javax.swing.*;
import javax.swing.border.*;
-import static sun.tools.jconsole.JConsole.*;
-import static sun.tools.jconsole.Resources.*;
-
@SuppressWarnings("serial")
class OverviewTab extends Tab {
@@ -42,7 +38,7 @@
TimeComboBox timeComboBox;
public static String getTabName() {
- return getText("Overview");
+ return Messages.OVERVIEW;
}
public OverviewTab(VMPanel vmPanel) {
@@ -58,8 +54,8 @@
topPanel.add(controlPanel, BorderLayout.CENTER);
timeComboBox = new TimeComboBox();
- LabeledComponent lc = new LabeledComponent(Resources.getText("Time Range:"),
- getMnemonicInt("Time Range:"),
+ LabeledComponent lc = new LabeledComponent(Messages.TIME_RANGE_COLON,
+ Resources.getMnemonicInt(Messages.TIME_RANGE_COLON),
timeComboBox);
controlPanel.add(lc);
--- a/jdk/src/share/classes/sun/tools/jconsole/Plotter.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/Plotter.java Fri May 25 12:24:57 2012 +0200
@@ -38,14 +38,11 @@
import javax.swing.filechooser.*;
import javax.swing.filechooser.FileFilter;
+
import com.sun.tools.jconsole.JConsoleContext;
-import static com.sun.tools.jconsole.JConsoleContext.ConnectionState.*;
-
import static sun.tools.jconsole.Formatter.*;
import static sun.tools.jconsole.ProxyClient.*;
-import static sun.tools.jconsole.Resources.*;
-import static sun.tools.jconsole.Utilities.*;
@SuppressWarnings("serial")
public class Plotter extends JComponent
@@ -56,22 +53,22 @@
}
static final String[] rangeNames = {
- Resources.getText(" 1 min"),
- Resources.getText(" 5 min"),
- Resources.getText("10 min"),
- Resources.getText("30 min"),
- Resources.getText(" 1 hour"),
- Resources.getText(" 2 hours"),
- Resources.getText(" 3 hours"),
- Resources.getText(" 6 hours"),
- Resources.getText("12 hours"),
- Resources.getText(" 1 day"),
- Resources.getText(" 7 days"),
- Resources.getText(" 1 month"),
- Resources.getText(" 3 months"),
- Resources.getText(" 6 months"),
- Resources.getText(" 1 year"),
- Resources.getText("All")
+ Messages.ONE_MIN,
+ Messages.FIVE_MIN,
+ Messages.TEN_MIN,
+ Messages.THIRTY_MIN,
+ Messages.ONE_HOUR,
+ Messages.TWO_HOURS,
+ Messages.THREE_HOURS,
+ Messages.SIX_HOURS,
+ Messages.TWELVE_HOURS,
+ Messages.ONE_DAY,
+ Messages.SEVEN_DAYS,
+ Messages.ONE_MONTH,
+ Messages.THREE_MONTHS,
+ Messages.SIX_MONTHS,
+ Messages.ONE_YEAR,
+ Messages.ALL
};
static final int[] rangeValues = {
@@ -247,9 +244,9 @@
@Override
public JPopupMenu getComponentPopupMenu() {
if (popupMenu == null) {
- popupMenu = new JPopupMenu(Resources.getText("Chart:"));
- timeRangeMenu = new JMenu(Resources.getText("Plotter.timeRangeMenu"));
- timeRangeMenu.setMnemonic(getMnemonicInt("Plotter.timeRangeMenu"));
+ popupMenu = new JPopupMenu(Messages.CHART_COLON);
+ timeRangeMenu = new JMenu(Messages.PLOTTER_TIME_RANGE_MENU);
+ timeRangeMenu.setMnemonic(Resources.getMnemonicInt(Messages.PLOTTER_TIME_RANGE_MENU));
popupMenu.add(timeRangeMenu);
menuRBs = new JRadioButtonMenuItem[rangeNames.length];
ButtonGroup rbGroup = new ButtonGroup();
@@ -265,8 +262,8 @@
popupMenu.addSeparator();
- saveAsMI = new JMenuItem(getText("Plotter.saveAsMenuItem"));
- saveAsMI.setMnemonic(getMnemonicInt("Plotter.saveAsMenuItem"));
+ saveAsMI = new JMenuItem(Messages.PLOTTER_SAVE_AS_MENU_ITEM);
+ saveAsMI.setMnemonic(Resources.getMnemonicInt(Messages.PLOTTER_SAVE_AS_MENU_ITEM));
saveAsMI.addActionListener(this);
popupMenu.add(saveAsMI);
}
@@ -318,9 +315,9 @@
out.close();
JOptionPane.showMessageDialog(this,
- getText("FileChooser.savedFile",
- file.getAbsolutePath(),
- file.length()));
+ Resources.format(Messages.FILE_CHOOSER_SAVED_FILE,
+ file.getAbsolutePath(),
+ file.length()));
} catch (IOException ex) {
String msg = ex.getLocalizedMessage();
String path = file.getAbsolutePath();
@@ -328,9 +325,10 @@
msg = msg.substring(path.length()).trim();
}
JOptionPane.showMessageDialog(this,
- getText("FileChooser.saveFailed.message",
- path, msg),
- getText("FileChooser.saveFailed.title"),
+ Resources.format(Messages.FILE_CHOOSER_SAVE_FAILED_MESSAGE,
+ path,
+ msg),
+ Messages.FILE_CHOOSER_SAVE_FAILED_TITLE,
JOptionPane.ERROR_MESSAGE);
}
}
@@ -1020,13 +1018,13 @@
}
if (file.exists()) {
- String okStr = getText("FileChooser.fileExists.okOption");
- String cancelStr = getText("FileChooser.fileExists.cancelOption");
+ String okStr = Messages.FILE_CHOOSER_FILE_EXISTS_OK_OPTION;
+ String cancelStr = Messages.FILE_CHOOSER_FILE_EXISTS_CANCEL_OPTION;
int ret =
JOptionPane.showOptionDialog(this,
- getText("FileChooser.fileExists.message",
- file.getName()),
- getText("FileChooser.fileExists.title"),
+ Resources.format(Messages.FILE_CHOOSER_FILE_EXISTS_MESSAGE,
+ file.getName()),
+ Messages.FILE_CHOOSER_FILE_EXISTS_TITLE,
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.WARNING_MESSAGE,
null,
@@ -1053,7 +1051,7 @@
protected class AccessiblePlotter extends AccessibleJComponent {
private static final long serialVersionUID = -3847205410473510922L;
protected AccessiblePlotter() {
- setAccessibleName(getText("Plotter.accessibleName"));
+ setAccessibleName(Messages.PLOTTER_ACCESSIBLE_NAME);
}
@Override
@@ -1067,7 +1065,7 @@
String value = "null";
if (seq.size > 0) {
if (unit == Unit.BYTES) {
- value = getText("Size Bytes", seq.value(seq.size - 1));
+ value = Resources.format(Messages.SIZE_BYTES, seq.value(seq.size - 1));
} else {
value =
getFormattedValue(seq.value(seq.size - 1), false) +
@@ -1076,13 +1074,13 @@
}
// Assume format string ends with newline
keyValueList +=
- getText("Plotter.accessibleName.keyAndValue",
+ Resources.format(Messages.PLOTTER_ACCESSIBLE_NAME_KEY_AND_VALUE,
seq.key, value);
}
}
name += "\n" + keyValueList + ".";
} else {
- name += "\n" + getText("Plotter.accessibleName.noData");
+ name += "\n" + Messages.PLOTTER_ACCESSIBLE_NAME_NO_DATA;
}
return name;
}
--- a/jdk/src/share/classes/sun/tools/jconsole/PlotterPanel.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/PlotterPanel.java Fri May 25 12:24:57 2012 +0200
@@ -25,7 +25,6 @@
package sun.tools.jconsole;
-import java.awt.*;
import java.awt.event.*;
import javax.accessibility.*;
--- a/jdk/src/share/classes/sun/tools/jconsole/ProxyClient.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/ProxyClient.java Fri May 25 12:24:57 2012 +0200
@@ -27,7 +27,6 @@
import com.sun.management.HotSpotDiagnosticMXBean;
import com.sun.tools.jconsole.JConsoleContext;
-import com.sun.tools.jconsole.JConsoleContext.ConnectionState;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeEvent;
import java.io.IOException;
@@ -504,7 +503,7 @@
public String toString() {
if (!isConnected()) {
- return Resources.getText("ConnectionName (disconnected)", displayName);
+ return Resources.format(Messages.CONNECTION_NAME__DISCONNECTED_, displayName);
} else {
return displayName;
}
@@ -595,10 +594,10 @@
assert(false);
}
}
- Set mbeans = server.queryNames(name, null);
+ Set<ObjectName> mbeans = server.queryNames(name, null);
Map<ObjectName,MBeanInfo> result =
new HashMap<ObjectName,MBeanInfo>(mbeans.size());
- Iterator iterator = mbeans.iterator();
+ Iterator<ObjectName> iterator = mbeans.iterator();
while (iterator.hasNext()) {
Object object = iterator.next();
if (object instanceof ObjectName) {
@@ -704,10 +703,10 @@
// should not reach here
assert(false);
}
- Set mbeans = server.queryNames(poolName, null);
+ Set<ObjectName> mbeans = server.queryNames(poolName, null);
if (mbeans != null) {
memoryPoolProxies = new ArrayList<MemoryPoolProxy>();
- Iterator iterator = mbeans.iterator();
+ Iterator<ObjectName> iterator = mbeans.iterator();
while (iterator.hasNext()) {
ObjectName objName = (ObjectName) iterator.next();
MemoryPoolProxy p = new MemoryPoolProxy(this, objName);
@@ -730,10 +729,10 @@
// should not reach here
assert(false);
}
- Set mbeans = server.queryNames(gcName, null);
+ Set<ObjectName> mbeans = server.queryNames(gcName, null);
if (mbeans != null) {
garbageCollectorMBeans = new ArrayList<GarbageCollectorMXBean>();
- Iterator iterator = mbeans.iterator();
+ Iterator<ObjectName> iterator = mbeans.iterator();
while (iterator.hasNext()) {
ObjectName on = (ObjectName) iterator.next();
String name = GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE +
--- a/jdk/src/share/classes/sun/tools/jconsole/Resources.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/Resources.java Fri May 25 12:24:57 2012 +0200
@@ -25,89 +25,185 @@
package sun.tools.jconsole;
+import java.awt.event.KeyEvent;
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
import java.text.MessageFormat;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
-import sun.tools.jconsole.resources.JConsoleResources;
-
/**
- * Provides resource support for jconsole.
+ * Toolkit that provides resource support for JConsole.
*/
public final class Resources {
+ private static Map<String, Integer> MNEMONIC_LOOKUP = Collections
+ .synchronizedMap(new HashMap<String, Integer>());
- private static final Object lock = new Object();
- private static JConsoleResources resources = null;
- static {
+ private Resources() {
+ throw new AssertionError();
+ }
+
+ /**
+ * Convenience method for {@link MessageFormat#format(String, Object...)}.
+ *
+ * @param pattern the pattern
+ * @param objects the arguments for the pattern
+ *
+ * @return a formatted string
+ */
+ public static String format(String pattern, Object... arguments) {
+ return MessageFormat.format(pattern, arguments);
+ }
+
+ /**
+ * Returns the mnemonic for a message.
+ *
+ * @param message the message
+ *
+ * @return the mnemonic <code>int</code>
+ */
+ public static int getMnemonicInt(String message) {
+ Integer integer = MNEMONIC_LOOKUP.get(message);
+ if (integer != null) {
+ return integer.intValue();
+ }
+ return 0;
+ }
+
+ /**
+ * Initializes all non-final public static fields in the given class with
+ * messages from a {@link ResourceBundle}.
+ *
+ * @param clazz the class containing the fields
+ */
+ public static void initializeMessages(Class<?> clazz, String rbName) {
+ ResourceBundle rb = null;
try {
- resources =
- (JConsoleResources)ResourceBundle.getBundle("sun.tools.jconsole.resources.JConsoleResources");
- } catch (MissingResourceException e) {
- // gracefully handle this later
+ rb = ResourceBundle.getBundle(rbName);
+ } catch (MissingResourceException mre) {
+ // fall through, handled later
+ }
+ for (Field field : clazz.getFields()) {
+ if (isWritableField(field)) {
+ String key = field.getName();
+ String message = getMessage(rb, key);
+ int mnemonicInt = findMnemonicInt(message);
+ message = removeMnemonicAmpersand(message);
+ message = replaceWithPlatformLineFeed(message);
+ setFieldValue(field, message);
+ MNEMONIC_LOOKUP.put(message, mnemonicInt);
+ }
}
}
- private Resources() { throw new AssertionError(); }
+ private static boolean isWritableField(Field field) {
+ int modifiers = field.getModifiers();
+ return Modifier.isPublic(modifiers) && Modifier.isStatic(modifiers)
+ && !Modifier.isFinal(modifiers);
+ }
/**
- * Returns the text of the jconsole resource for the specified key
- * formatted with the specified arguments.
+ * Returns the message corresponding to the key in the bundle or a text
+ * describing it's missing.
*
+ * @param rb the resource bundle
+ * @param key the key
+ *
+ * @return the message
*/
- public static String getText(String key, Object... args) {
- String format = getString(key);
- if (format == null) {
- format = "missing resource key: key = \"" + key + "\", " +
- "arguments = \"{0}\", \"{1}\", \"{2}\"";
+ private static String getMessage(ResourceBundle rb, String key) {
+ if (rb == null) {
+ return "missing resource bundle";
}
- return formatMessage(format, args);
+ try {
+ return rb.getString(key);
+ } catch (MissingResourceException mre) {
+ return "missing message for key = \"" + key
+ + "\" in resource bundle ";
+ }
}
- static String formatMessage(String format, Object... args) {
- String ss = null;
- synchronized (lock) {
- /*
- * External synchronization required for safe use of
- * java.text.MessageFormat:
- */
- ss = MessageFormat.format(format, args);
+ private static void setFieldValue(Field field, String value) {
+ try {
+ field.set(null, value);
+ } catch (IllegalArgumentException | IllegalAccessException e) {
+ throw new Error("Unable to access or set message for field " + field.getName());
}
- return ss;
+ }
+
+ /**
+ * Returns a {@link String} where all <code>\n</code> in the <text> have
+ * been replaced with the line separator for the platform.
+ *
+ * @param text the to be replaced
+ *
+ * @return the replaced text
+ */
+ private static String replaceWithPlatformLineFeed(String text) {
+ return text.replace("\n", System.getProperty("line.separator"));
}
/**
- * Returns the mnemonic keycode int of the jconsole resource for the specified key.
+ * Removes the mnemonic identifier (<code>&</code>) from a string unless
+ * it's escaped by <code>&&</code> or placed at the end.
*
+ * @param message the message
+ *
+ * @return a message with the mnemonic identifier removed
*/
- public static int getMnemonicInt(String key) {
- int mnemonic = 0;
- if (resources != null) {
- Object obj = resources.getObject(key+".mnemonic");
- if (obj instanceof Character) {
- mnemonic = (int)(Character)obj;
- if (mnemonic >= 'a' && mnemonic <='z') {
- mnemonic -= ('a' - 'A');
- }
- } else if (obj instanceof Integer) {
- mnemonic = (Integer)obj;
+ private static String removeMnemonicAmpersand(String message) {
+ StringBuilder s = new StringBuilder();
+ for (int i = 0; i < message.length(); i++) {
+ char current = message.charAt(i);
+ if (current != '&' || i == message.length() - 1
+ || message.charAt(i + 1) == '&') {
+ s.append(current);
}
}
- return mnemonic;
+ return s.toString();
}
/**
- * Returns the jconsole resource string for the specified key.
+ * Finds the mnemonic character in a message.
*
+ * The mnemonic character is the first character followed by the first
+ * <code>&</code> that is not followed by another <code>&</code>.
+ *
+ * @return the mnemonic as an <code>int</code>, or <code>0</code> if it
+ * can't be found.
*/
- private static String getString(String key) {
- if (resources != null) {
- try {
- return resources.getString(key);
- } catch (MissingResourceException e) {
- return null;
+ private static int findMnemonicInt(String s) {
+ for (int i = 0; i < s.length() - 1; i++) {
+ if (s.charAt(i) == '&') {
+ if (s.charAt(i + 1) != '&') {
+ return lookupMnemonicInt(s.substring(i + 1, i + 2));
+ } else {
+ i++;
+ }
}
}
- return "missing resource bundle: key = \"" + key + "\", " +
- "arguments = \"{0}\", \"{1}\", \"{2}\"";
+ return 0;
+ }
+
+ /**
+ * Lookups the mnemonic for a key in the {@link KeyEvent} class.
+ *
+ * @param c the character to lookup
+ *
+ * @return the mnemonic as an <code>int</code>, or <code>0</code> if it
+ * can't be found.
+ */
+ private static int lookupMnemonicInt(String c) {
+ try {
+ return KeyEvent.class.getDeclaredField("VK_" + c.toUpperCase())
+ .getInt(null);
+ } catch (IllegalArgumentException | IllegalAccessException
+ | NoSuchFieldException | SecurityException e) {
+ // Missing VK is okay
+ return 0;
+ }
}
}
--- a/jdk/src/share/classes/sun/tools/jconsole/SummaryTab.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/SummaryTab.java Fri May 25 12:24:57 2012 +0200
@@ -29,24 +29,19 @@
import java.io.*;
import java.lang.management.*;
import java.lang.reflect.*;
-import java.net.URL;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import javax.swing.*;
-import javax.swing.event.*;
-import javax.swing.text.*;
+
import static sun.tools.jconsole.Formatter.*;
-import static sun.tools.jconsole.Resources.*;
import static sun.tools.jconsole.Utilities.*;
@SuppressWarnings("serial")
class SummaryTab extends Tab {
private static final String cpuUsageKey = "cpu";
- private static final String cpuUsageName = getText("CPU Usage");
- private static final String cpuUsageFormat = "CPUUsageFormat";
private static final String newDivider = "<tr><td colspan=4><font size =-1><hr>";
private static final String newTable = "<tr><td colspan=4 align=left><table cellpadding=1>";
@@ -70,7 +65,7 @@
}
public static String getTabName() {
- return Resources.getText("SummaryTab.tabName");
+ return Messages.SUMMARY_TAB_TAB_NAME;
}
public SummaryTab(VMPanel vmPanel) {
@@ -83,7 +78,7 @@
add(new JScrollPane(info));
headerDateTimeFormat =
- getDateTimeFormat("SummaryTab.headerDateTimeFormat");
+ Formatter.getDateTimeFormat(Messages.SUMMARY_TAB_HEADER_DATE_TIME_FORMAT);
}
public SwingWorker<?, ?> newSwingWorker() {
@@ -138,7 +133,7 @@
proxyClient.getSunOperatingSystemMXBean();
append("<tr><td colspan=4>");
- append("<center><b>" + getText("SummaryTab.tabName") + "</b></center>");
+ append("<center><b>" + Messages.SUMMARY_TAB_TAB_NAME + "</b></center>");
String dateTime =
headerDateTimeFormat.format(System.currentTimeMillis());
append("<center>" + dateTime + "</center>");
@@ -147,30 +142,30 @@
{ // VM info
append(newLeftTable);
- append("Connection name", vmPanel.getDisplayName());
- append("Virtual Machine",
- getText("SummaryTab.vmVersion",
- rmBean.getVmName(), rmBean.getVmVersion()));
- append("Vendor", rmBean.getVmVendor());
- append("Name", rmBean.getName());
+ append(Messages.CONNECTION_NAME, vmPanel.getDisplayName());
+ append(Messages.VIRTUAL_MACHINE,
+ Resources.format(Messages.SUMMARY_TAB_VM_VERSION,
+ rmBean.getVmName(), rmBean.getVmVersion()));
+ append(Messages.VENDOR, rmBean.getVmVendor());
+ append(Messages.NAME, rmBean.getName());
append(endTable);
append(newRightTable);
result.upTime = rmBean.getUptime();
- append("Uptime", formatTime(result.upTime));
+ append(Messages.UPTIME, formatTime(result.upTime));
if (sunOSMBean != null) {
result.processCpuTime = sunOSMBean.getProcessCpuTime();
- append("Process CPU time", formatNanoTime(result.processCpuTime));
+ append(Messages.PROCESS_CPU_TIME, formatNanoTime(result.processCpuTime));
}
if (cmpMBean != null) {
- append("JIT compiler", cmpMBean.getName());
- append("Total compile time",
+ append(Messages.JIT_COMPILER, cmpMBean.getName());
+ append(Messages.TOTAL_COMPILE_TIME,
cmpMBean.isCompilationTimeMonitoringSupported()
? formatTime(cmpMBean.getTotalCompilationTime())
- : getText("Unavailable"));
+ : Messages.UNAVAILABLE);
} else {
- append("JIT compiler", getText("Unavailable"));
+ append(Messages.JIT_COMPILER, Messages.UNAVAILABLE);
}
append(endTable);
}
@@ -185,10 +180,10 @@
long ttCount = tmBean.getTotalStartedThreadCount();
String[] strings1 = formatLongs(tlCount, tpCount,
tdCount, ttCount);
- append("Live Threads", strings1[0]);
- append("Peak", strings1[1]);
- append("Daemon threads", strings1[2]);
- append("Total threads started", strings1[3]);
+ append(Messages.LIVE_THREADS, strings1[0]);
+ append(Messages.PEAK, strings1[1]);
+ append(Messages.DAEMON_THREADS, strings1[2]);
+ append(Messages.TOTAL_THREADS_STARTED, strings1[3]);
append(endTable);
append(newRightTable);
@@ -196,9 +191,9 @@
long cuCount = clMBean.getUnloadedClassCount();
long ctCount = clMBean.getTotalLoadedClassCount();
String[] strings2 = formatLongs(clCount, cuCount, ctCount);
- append("Current classes loaded", strings2[0]);
- append("Total classes loaded", strings2[2]);
- append("Total classes unloaded", strings2[1]);
+ append(Messages.CURRENT_CLASSES_LOADED, strings2[0]);
+ append(Messages.TOTAL_CLASSES_LOADED, strings2[2]);
+ append(Messages.TOTAL_CLASSES_UNLOADED, strings2[1]);
append(null, "");
append(endTable);
}
@@ -210,16 +205,16 @@
append(newLeftTable);
String[] strings1 = formatKByteStrings(u.getUsed(), u.getMax());
- append("Current heap size", strings1[0]);
- append("Maximum heap size", strings1[1]);
+ append(Messages.CURRENT_HEAP_SIZE, strings1[0]);
+ append(Messages.MAXIMUM_HEAP_SIZE, strings1[1]);
append(endTable);
append(newRightTable);
String[] strings2 = formatKByteStrings(u.getCommitted());
- append("Committed memory", strings2[0]);
- append("SummaryTab.pendingFinalization.label",
- getText("SummaryTab.pendingFinalization.value",
- memoryBean.getObjectPendingFinalizationCount()));
+ append(Messages.COMMITTED_MEMORY, strings2[0]);
+ append(Messages.SUMMARY_TAB_PENDING_FINALIZATION_LABEL,
+ Messages.SUMMARY_TAB_PENDING_FINALIZATION_VALUE,
+ memoryBean.getObjectPendingFinalizationCount());
append(endTable);
append(newTable);
@@ -230,10 +225,10 @@
long gcCount = garbageCollectorMBean.getCollectionCount();
long gcTime = garbageCollectorMBean.getCollectionTime();
- append("Garbage collector",
- getText("GcInfo", gcName, gcCount,
- (gcTime >= 0) ? formatTime(gcTime)
- : getText("Unavailable")),
+ append(Messages.GARBAGE_COLLECTOR,
+ Resources.format(Messages.GC_INFO, gcName, gcCount,
+ (gcTime >= 0) ? formatTime(gcTime)
+ : Messages.UNAVAILABLE),
4);
}
append(endTable);
@@ -247,9 +242,9 @@
String osVersion = osMBean.getVersion();
String osArch = osMBean.getArch();
result.nCPUs = osMBean.getAvailableProcessors();
- append("Operating System", osName + " " + osVersion);
- append("Architecture", osArch);
- append("Number of processors", result.nCPUs+"");
+ append(Messages.OPERATING_SYSTEM, osName + " " + osVersion);
+ append(Messages.ARCHITECTURE, osArch);
+ append(Messages.NUMBER_OF_PROCESSORS, result.nCPUs+"");
if (pathSeparator == null) {
// Must use separator of remote OS, not File.pathSeparator
@@ -268,14 +263,14 @@
sunOSMBean.getTotalSwapSpaceSize(),
sunOSMBean.getFreeSwapSpaceSize());
- append("Committed virtual memory", kbStrings1[0]);
+ append(Messages.COMMITTED_VIRTUAL_MEMORY, kbStrings1[0]);
append(endTable);
append(newRightTable);
- append("Total physical memory", kbStrings2[0]);
- append("Free physical memory", kbStrings2[1]);
- append("Total swap space", kbStrings2[2]);
- append("Free swap space", kbStrings2[3]);
+ append(Messages.TOTAL_PHYSICAL_MEMORY, kbStrings2[0]);
+ append(Messages.FREE_PHYSICAL_MEMORY, kbStrings2[1]);
+ append(Messages.TOTAL_SWAP_SPACE, kbStrings2[2]);
+ append(Messages.FREE_SWAP_SPACE, kbStrings2[3]);
}
append(endTable);
@@ -290,13 +285,13 @@
for (String arg : inputArguments) {
args += arg + " ";
}
- append("VM arguments", args, 4);
- append("Class path", rmBean.getClassPath(), 4);
- append("Library path", rmBean.getLibraryPath(), 4);
- append("Boot class path",
+ append(Messages.VM_ARGUMENTS, args, 4);
+ append(Messages.CLASS_PATH, rmBean.getClassPath(), 4);
+ append(Messages.LIBRARY_PATH, rmBean.getLibraryPath(), 4);
+ append(Messages.BOOT_CLASS_PATH,
rmBean.isBootClassPathSupported()
? rmBean.getBootClassPath()
- : getText("Unavailable"),
+ : Messages.UNAVAILABLE,
4);
append(endTable);
}
@@ -327,7 +322,7 @@
}
void append(String label, String value) {
- append(newRow((label != null) ? getText(label) : label, value));
+ append(newRow(label, value));
}
private void append(String label, String value, int columnPerRow) {
@@ -335,13 +330,7 @@
value = value.replace(pathSeparator,
"<b></b>" + pathSeparator);
}
- append(newRow(getText(label), value, columnPerRow));
- }
-
- void append(String label1, String value1,
- String label2, String value2) {
- append(newRow(getText(label1), value1,
- getText(label2), value2));
+ append(newRow(label, value, columnPerRow));
}
OverviewPanel[] getOverviewPanels() {
@@ -355,7 +344,7 @@
private long prevUpTime, prevProcessCpuTime;
CPUOverviewPanel() {
- super(getText("CPU Usage"), cpuUsageKey, cpuUsageName, Plotter.Unit.PERCENT);
+ super(Messages.CPU_USAGE, cpuUsageKey, Messages.CPU_USAGE, Plotter.Unit.PERCENT);
getPlotter().setDecimals(CPU_DECIMALS);
}
@@ -373,14 +362,11 @@
getPlotter().addValues(result.timeStamp,
Math.round(cpuUsage * Math.pow(10.0, CPU_DECIMALS)));
- getInfoLabel().setText(getText(cpuUsageFormat,
+ getInfoLabel().setText(Resources.format(Messages.CPU_USAGE_FORMAT,
String.format("%."+CPU_DECIMALS+"f", cpuUsage)));
}
this.prevUpTime = result.upTime;
this.prevProcessCpuTime = result.processCpuTime;
}
}
-
-
-
}
--- a/jdk/src/share/classes/sun/tools/jconsole/Tab.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/Tab.java Fri May 25 12:24:57 2012 +0200
@@ -26,9 +26,6 @@
package sun.tools.jconsole;
import java.awt.*;
-import java.awt.event.*;
-import java.beans.*;
-
import javax.swing.*;
public abstract class Tab extends JPanel {
--- a/jdk/src/share/classes/sun/tools/jconsole/ThreadTab.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/ThreadTab.java Fri May 25 12:24:57 2012 +0200
@@ -35,14 +35,11 @@
import javax.swing.border.*;
import javax.swing.event.*;
+
import java.util.*;
import java.util.concurrent.*;
import java.util.List;
-import sun.awt.*;
-
-import static sun.tools.jconsole.OverviewPanel.*;
-import static sun.tools.jconsole.Resources.*;
import static sun.tools.jconsole.Utilities.*;
@@ -51,7 +48,7 @@
PlotterPanel threadMeter;
TimeComboBox timeComboBox;
JTabbedPane threadListTabbedPane;
- DefaultListModel listModel;
+ DefaultListModel<Long> listModel;
JTextField filterTF;
JLabel messageLabel;
JSplitPane threadsSplitPane;
@@ -64,9 +61,6 @@
private static final String threadCountKey = "threadCount";
private static final String peakKey = "peak";
- private static final String threadCountName = Resources.getText("Live Threads");
- private static final String peakName = Resources.getText("Peak");
-
private static final Color threadCountColor = Plotter.defaultColor;
private static final Color peakColor = Color.red;
@@ -93,7 +87,7 @@
public static String getTabName() {
- return Resources.getText("Threads");
+ return Messages.THREADS;
}
public ThreadTab(VMPanel vmPanel) {
@@ -111,28 +105,28 @@
JPanel controlPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 20, 5));
topPanel.add(controlPanel, BorderLayout.CENTER);
- threadMeter = new PlotterPanel(Resources.getText("Number of Threads"),
+ threadMeter = new PlotterPanel(Messages.NUMBER_OF_THREADS,
Plotter.Unit.NONE, true);
- threadMeter.plotter.createSequence(threadCountKey, threadCountName, threadCountColor, true);
- threadMeter.plotter.createSequence(peakKey, peakName, peakColor, true);
+ threadMeter.plotter.createSequence(threadCountKey, Messages.LIVE_THREADS, threadCountColor, true);
+ threadMeter.plotter.createSequence(peakKey, Messages.PEAK, peakColor, true);
setAccessibleName(threadMeter.plotter,
- getText("ThreadTab.threadPlotter.accessibleName"));
+ Messages.THREAD_TAB_THREAD_PLOTTER_ACCESSIBLE_NAME);
plotterPanel.add(threadMeter);
timeComboBox = new TimeComboBox(threadMeter.plotter);
- controlPanel.add(new LabeledComponent(Resources.getText("Time Range:"),
- getMnemonicInt("Time Range:"),
+ controlPanel.add(new LabeledComponent(Messages.TIME_RANGE_COLON,
+ Resources.getMnemonicInt(Messages.TIME_RANGE_COLON),
timeComboBox));
- listModel = new DefaultListModel();
+ listModel = new DefaultListModel<Long>();
JTextArea textArea = new JTextArea();
textArea.setBorder(thinEmptyBorder);
textArea.setEditable(false);
setAccessibleName(textArea,
- getText("ThreadTab.threadInfo.accessibleName"));
- JList list = new ThreadJList(listModel, textArea);
+ Messages.THREAD_TAB_THREAD_INFO_ACCESSIBLE_NAME);
+ ThreadJList list = new ThreadJList(listModel, textArea);
Dimension di = new Dimension(super.getPreferredSize());
di.width = Math.min(di.width, 200);
@@ -165,11 +159,11 @@
filterTF.getPreferredSize().height));
firstTabToolPanel.add(separator);
- JButton detectDeadlockButton = new JButton(Resources.getText("Detect Deadlock"));
- detectDeadlockButton.setMnemonic(getMnemonicInt("Detect Deadlock"));
+ JButton detectDeadlockButton = new JButton(Messages.DETECT_DEADLOCK);
+ detectDeadlockButton.setMnemonic(Resources.getMnemonicInt(Messages.DETECT_DEADLOCK));
detectDeadlockButton.setActionCommand("detectDeadlock");
detectDeadlockButton.addActionListener(this);
- detectDeadlockButton.setToolTipText(getText("Detect Deadlock.toolTip"));
+ detectDeadlockButton.setToolTipText(Messages.DETECT_DEADLOCK_TOOLTIP);
firstTabToolPanel.add(detectDeadlockButton);
messageLabel = new JLabel();
@@ -177,7 +171,7 @@
firstTabPanel.add(threadsSplitPane, BorderLayout.CENTER);
firstTabPanel.add(firstTabToolPanel, BorderLayout.SOUTH);
- threadListTabbedPane.addTab(Resources.getText("Threads"), firstTabPanel);
+ threadListTabbedPane.addTab(Messages.THREADS, firstTabPanel);
plotterPanel.add(threadListTabbedPane);
}
@@ -356,32 +350,32 @@
}
if (ti != null) {
if (ti.getLockName() == null) {
- sb.append(Resources.getText("Name State",
+ sb.append(Resources.format(Messages.NAME_STATE,
ti.getThreadName(),
ti.getThreadState().toString()));
} else if (ti.getLockOwnerName() == null) {
- sb.append(Resources.getText("Name State LockName",
+ sb.append(Resources.format(Messages.NAME_STATE_LOCK_NAME,
ti.getThreadName(),
ti.getThreadState().toString(),
ti.getLockName()));
} else {
- sb.append(Resources.getText("Name State LockName LockOwner",
+ sb.append(Resources.format(Messages.NAME_STATE_LOCK_NAME_LOCK_OWNER,
ti.getThreadName(),
ti.getThreadState().toString(),
ti.getLockName(),
ti.getLockOwnerName()));
}
- sb.append(Resources.getText("BlockedCount WaitedCount",
+ sb.append(Resources.format(Messages.BLOCKED_COUNT_WAITED_COUNT,
ti.getBlockedCount(),
ti.getWaitedCount()));
- sb.append(Resources.getText("Stack trace"));
+ sb.append(Messages.STACK_TRACE);
int index = 0;
for (StackTraceElement e : ti.getStackTrace()) {
sb.append(e.toString()+"\n");
if (monitors != null) {
for (MonitorInfo mi : monitors) {
if (mi.getLockedStackDepth() == index) {
- sb.append(Resources.getText("Monitor locked", mi.toString()));
+ sb.append(Resources.format(Messages.MONITOR_LOCKED, mi.toString()));
}
}
}
@@ -429,7 +423,7 @@
try {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
- String msg = Resources.getText("No deadlock detected");
+ String msg = Messages.NO_DEADLOCK_DETECTED;
messageLabel.setText(msg);
threadListTabbedPane.revalidate();
}
@@ -459,13 +453,13 @@
if (deadlockedThreads != null) {
for (int i = 0; i < deadlockedThreads.length; i++) {
- DefaultListModel listModel = new DefaultListModel();
+ DefaultListModel<Long> listModel = new DefaultListModel<Long>();
JTextArea textArea = new JTextArea();
textArea.setBorder(thinEmptyBorder);
textArea.setEditable(false);
setAccessibleName(textArea,
- getText("ThreadTab.threadInfo.accessibleName"));
- JList list = new ThreadJList(listModel, textArea);
+ Messages.THREAD_TAB_THREAD_INFO_ACCESSIBLE_NAME);
+ ThreadJList list = new ThreadJList(listModel, textArea);
JScrollPane threadlistSP = new JScrollPane(list);
JScrollPane textAreaSP = new JScrollPane(textArea);
threadlistSP.setBorder(null);
@@ -477,9 +471,9 @@
splitPane.setDividerLocation(threadsSplitPane.getDividerLocation());
String tabName;
if (deadlockedThreads.length > 1) {
- tabName = Resources.getText("deadlockTabN", i+1);
+ tabName = Resources.format(Messages.DEADLOCK_TAB_N, i+1);
} else {
- tabName = Resources.getText("deadlockTab");
+ tabName = Messages.DEADLOCK_TAB;
}
threadListTabbedPane.addTab(tabName, splitPane);
@@ -591,10 +585,10 @@
- private class ThreadJList extends JList {
+ private class ThreadJList extends JList<Long> {
private JTextArea textArea;
- ThreadJList(DefaultListModel listModel, JTextArea textArea) {
+ ThreadJList(DefaultListModel<Long> listModel, JTextArea textArea) {
super(listModel);
this.textArea = textArea;
@@ -603,7 +597,7 @@
addListSelectionListener(ThreadTab.this);
setCellRenderer(new DefaultListCellRenderer() {
- public Component getListCellRendererComponent(JList list, Object value, int index,
+ public Component getListCellRendererComponent(JList<?> list, Object value, int index,
boolean isSelected, boolean cellHasFocus) {
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
@@ -691,12 +685,12 @@
private static class ThreadOverviewPanel extends OverviewPanel {
ThreadOverviewPanel() {
- super(getText("Threads"), threadCountKey, threadCountName, null);
+ super(Messages.THREADS, threadCountKey, Messages.LIVE_THREADS, null);
}
private void updateThreadsInfo(long tlCount, long tpCount, long ttCount, long timeStamp) {
getPlotter().addValues(timeStamp, tlCount);
- getInfoLabel().setText(getText(infoLabelFormat, tlCount, tpCount, ttCount));
+ getInfoLabel().setText(Resources.format(infoLabelFormat, tlCount, tpCount, ttCount));
}
}
}
--- a/jdk/src/share/classes/sun/tools/jconsole/VMInternalFrame.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/VMInternalFrame.java Fri May 25 12:24:57 2012 +0200
@@ -26,16 +26,9 @@
package sun.tools.jconsole;
import java.awt.*;
-import java.awt.event.*;
-import java.io.*;
-import java.util.*;
+import javax.swing.*;
-import javax.swing.*;
-import javax.swing.Timer;
-import javax.swing.border.*;
-import javax.swing.event.*;
-import static sun.tools.jconsole.Resources.*;
import static sun.tools.jconsole.Utilities.*;
@SuppressWarnings("serial")
@@ -47,7 +40,7 @@
this.vmPanel = vmPanel;
setAccessibleDescription(this,
- getText("VMInternalFrame.accessibleDescription"));
+ Messages.VMINTERNAL_FRAME_ACCESSIBLE_DESCRIPTION);
getContentPane().add(vmPanel, BorderLayout.CENTER);
pack();
vmPanel.updateFrameTitle();
--- a/jdk/src/share/classes/sun/tools/jconsole/VMPanel.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/VMPanel.java Fri May 25 12:24:57 2012 +0200
@@ -28,18 +28,16 @@
import java.awt.*;
import java.awt.event.*;
import java.beans.*;
-import java.io.*;
import java.lang.reflect.*;
import java.util.*;
import java.util.List;
import java.util.Timer;
-
import javax.swing.*;
import javax.swing.plaf.*;
+
import com.sun.tools.jconsole.JConsolePlugin;
import com.sun.tools.jconsole.JConsoleContext;
-import static com.sun.tools.jconsole.JConsoleContext.ConnectionState.*;
import static sun.tools.jconsole.ProxyClient.*;
@@ -51,13 +49,10 @@
private int updateInterval;
private String hostName;
private int port;
- private int vmid;
private String userName;
private String password;
private String url;
private VMInternalFrame vmIF = null;
- private static final String windowsLaF =
- "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
private static ArrayList<TabInfo> tabInfos = new ArrayList<TabInfo>();
private boolean wasConnected = false;
@@ -100,7 +95,6 @@
this.updateInterval = updateInterval;
this.hostName = proxyClient.getHostName();
this.port = proxyClient.getPort();
- this.vmid = proxyClient.getVmid();
this.userName = proxyClient.getUserName();
this.password = proxyClient.getPassword();
this.url = proxyClient.getUrl();
@@ -186,9 +180,9 @@
public String getToolTipText(MouseEvent event) {
if (connectedIconBounds.contains(event.getPoint())) {
if (isConnected()) {
- return getText("Connected. Click to disconnect.");
+ return Messages.CONNECTED_PUNCTUATION_CLICK_TO_DISCONNECT_;
} else {
- return getText("Disconnected. Click to connect.");
+ return Messages.DISCONNECTED_PUNCTUATION_CLICK_TO_CONNECT_;
}
} else {
return super.getToolTipText(event);
@@ -219,7 +213,7 @@
private Tab instantiate(TabInfo tabInfo) {
try {
- Constructor con = tabInfo.tabClass.getConstructor(VMPanel.class);
+ Constructor<?> con = tabInfo.tabClass.getConstructor(VMPanel.class);
return (Tab) con.newInstance(this);
} catch (Exception ex) {
System.err.println(ex);
@@ -354,7 +348,7 @@
private void onConnecting() {
time0 = System.currentTimeMillis();
- final JConsole jc = (JConsole) SwingUtilities.getWindowAncestor(this);
+ SwingUtilities.getWindowAncestor(this);
String connectionName = getConnectionName();
progressBar = new JProgressBar();
@@ -363,9 +357,9 @@
progressPanel.add(progressBar);
Object[] message = {
- "<html><h3>" + getText("connectingTo1", connectionName) + "</h3></html>",
+ "<html><h3>" + Resources.format(Messages.CONNECTING_TO1, connectionName) + "</h3></html>",
progressPanel,
- "<html><b>" + getText("connectingTo2", connectionName) + "</b></html>"
+ "<html><b>" + Resources.format(Messages.CONNECTING_TO2, connectionName) + "</b></html>"
};
optionPane =
@@ -373,7 +367,7 @@
message,
JOptionPane.DEFAULT_OPTION,
JOptionPane.INFORMATION_MESSAGE, null,
- new String[]{getText("Cancel")},
+ new String[]{Messages.CANCEL},
0);
@@ -409,7 +403,7 @@
if (vmIF != null) {
String displayName = getDisplayName();
if (!proxyClient.isConnected()) {
- displayName = getText("ConnectionName (disconnected)", displayName);
+ displayName = Resources.format(Messages.CONNECTION_NAME__DISCONNECTED_, displayName);
}
vmIF.setTitle(displayName);
}
@@ -458,25 +452,18 @@
private void vmPanelDied() {
disconnect();
- final JConsole jc = (JConsole) SwingUtilities.getWindowAncestor(this);
-
JOptionPane optionPane;
-
- final String connectStr = getText("Connect");
- final String reconnectStr = getText("Reconnect");
- final String cancelStr = getText("Cancel");
-
String msgTitle, msgExplanation, buttonStr;
if (wasConnected) {
wasConnected = false;
- msgTitle = getText("connectionLost1");
- msgExplanation = getText("connectionLost2", getConnectionName());
- buttonStr = reconnectStr;
+ msgTitle = Messages.CONNECTION_LOST1;
+ msgExplanation = Resources.format(Messages.CONNECTING_TO2, getConnectionName());
+ buttonStr = Messages.RECONNECT;
} else {
- msgTitle = getText("connectionFailed1");
- msgExplanation = getText("connectionFailed2", getConnectionName());
- buttonStr = connectStr;
+ msgTitle =Messages.CONNECTION_FAILED1;
+ msgExplanation = Resources.format(Messages.CONNECTION_FAILED2, getConnectionName());
+ buttonStr = Messages.CONNECT;
}
optionPane =
@@ -485,7 +472,7 @@
"<b>" + msgExplanation + "</b>",
JOptionPane.DEFAULT_OPTION,
JOptionPane.WARNING_MESSAGE, null,
- new String[]{buttonStr, cancelStr},
+ new String[]{buttonStr, Messages.CANCEL},
0);
optionPane.addPropertyChangeListener(new PropertyChangeListener() {
@@ -494,7 +481,7 @@
if (event.getPropertyName().equals(JOptionPane.VALUE_PROPERTY)) {
Object value = event.getNewValue();
- if (value == reconnectStr || value == connectStr) {
+ if (value == Messages.RECONNECT || value == Messages.CONNECT) {
connect();
} else if (!everConnected) {
try {
@@ -643,11 +630,6 @@
}
}
- // Convenience methods
- private static String getText(String key, Object... args) {
- return Resources.getText(key, args);
- }
-
private void createPluginTabs() {
// add plugin tabs if not done
if (!pluginTabsAdded) {
--- a/jdk/src/share/classes/sun/tools/jconsole/VariableGridLayout.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/VariableGridLayout.java Fri May 25 12:24:57 2012 +0200
@@ -26,7 +26,6 @@
package sun.tools.jconsole;
import java.awt.*;
-import java.util.*;
import javax.swing.*;
--- a/jdk/src/share/classes/sun/tools/jconsole/Version.java.template Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/Version.java.template Fri May 25 12:24:57 2012 +0200
@@ -26,6 +26,7 @@
package sun.tools.jconsole;
import java.io.PrintStream;
+import sun.tools.jconsole.Messages;
public class Version {
private static final String jconsole_version =
@@ -34,19 +35,19 @@
public static void print(PrintStream ps) {
printFullVersion(ps);
- ps.println(Resources.getText("Name and Build",
- System.getProperty("java.runtime.name"),
- System.getProperty("java.runtime.version")));
+ ps.println(Resources.format(Messages.NAME_AND_BUILD,
+ System.getProperty("java.runtime.name"),
+ System.getProperty("java.runtime.version")));
- ps.println(Resources.getText("Name Build and Mode",
- System.getProperty("java.vm.name"),
- System.getProperty("java.vm.version"),
- System.getProperty("java.vm.info")));
+ ps.println(Resources.format(Messages.NAME_AND_BUILD,
+ System.getProperty("java.vm.name"),
+ System.getProperty("java.vm.version"),
+ System.getProperty("java.vm.info")));
}
public static void printFullVersion(PrintStream ps) {
- ps.println(Resources.getText("JConsole version", jconsole_version));
+ ps.println(Resources.format(Messages.JCONSOLE_VERSION, jconsole_version));
}
static String getVersion() {
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/OperationEntry.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/OperationEntry.java Fri May 25 12:24:57 2012 +0200
@@ -25,30 +25,14 @@
package sun.tools.jconsole.inspector;
-// java import
import java.awt.*;
-import java.awt.event.*;
-import java.awt.dnd.*;
-import java.lang.reflect.*;
-import java.io.*;
-//
-
-// swing import
-import javax.swing.border.*;
-import javax.swing.event.*;
import javax.swing.*;
-//
-
-// jmx import
import javax.management.*;
-//
-
@SuppressWarnings("serial")
public class OperationEntry extends JPanel {
private MBeanOperationInfo operation;
private JComboBox sigs;
- private Dimension preferredSize;
private XTextField inputs[];
public OperationEntry (MBeanOperationInfo operation,
@@ -61,26 +45,10 @@
setPanel(isCallable, button, xoperations);
}
- /**
- * This method chops off the throws exceptions, removes "java.lang".
- */
- private String preProcessSignature(String signature) {
- int index;
- if ((index=signature.indexOf(" throws"))>0) {
- signature = signature.substring(0,index);
- }
- while ((index = signature.indexOf("java.lang."))>0) {
- signature = signature.substring(0,index)+
- signature.substring(index+10,signature.length());
- }
- return signature;
- }
-
- private void setPanel(boolean isCallable,
+ private void setPanel(boolean isCallable,
JButton button,
XOperations xoperations) {
try {
- String defaultVal;
MBeanParameterInfo params[] = operation.getSignature();
add(new JLabel("(",JLabel.CENTER));
inputs = new XTextField[params.length];
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/TableSorter.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/TableSorter.java Fri May 25 12:24:57 2012 +0200
@@ -94,7 +94,7 @@
@SuppressWarnings("unchecked")
private int compare(Object o1, Object o2) {
// take care of the case where both o1 & o2 are null. Needed to keep
- // the method symetric. Without this quickSort gives surprising results.
+ // the method symmetric. Without this quickSort gives surprising results.
if (o1 == o2)
return 0;
if (o1==null)
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/ThreadDialog.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/ThreadDialog.java Fri May 25 12:24:57 2012 +0200
@@ -28,7 +28,6 @@
// java import
import java.awt.*;
import javax.swing.*;
-import java.io.*;
//
public class ThreadDialog implements Runnable {
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/Utils.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/Utils.java Fri May 25 12:24:57 2012 +0200
@@ -284,7 +284,7 @@
*/
public static Object newStringConstructor(String type, String param)
throws Exception {
- Constructor c = Utils.getClass(type).getConstructor(String.class);
+ Constructor<?> c = Utils.getClass(type).getConstructor(String.class);
try {
return c.newInstance(param);
} catch (InvocationTargetException e) {
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java Fri May 25 12:24:57 2012 +0200
@@ -46,9 +46,9 @@
if (isViewableValue(value)) {
Object[] arr;
if (value instanceof Collection) {
- arr = ((Collection) value).toArray();
+ arr = ((Collection<?>) value).toArray();
} else if (value instanceof Map) {
- arr = ((Map) value).entrySet().toArray();
+ arr = ((Map<?,?>) value).entrySet().toArray();
} else if (value instanceof Object[]) {
arr = (Object[]) value;
} else {
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/XDataViewer.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/XDataViewer.java Fri May 25 12:24:57 2012 +0200
@@ -34,7 +34,7 @@
import java.awt.Container;
import sun.tools.jconsole.MBeansTab;
-import sun.tools.jconsole.Resources;
+import sun.tools.jconsole.Messages;
public class XDataViewer {
@@ -100,10 +100,10 @@
public static String getActionLabel(int type) {
if(type == ARRAY ||
type == OPEN)
- return Resources.getText("visualize");
+ return Messages.VISUALIZE;
if(type == NUMERIC)
- return Resources.getText("plot");
- return Resources.getText("expand");
+ return Messages.PLOT;
+ return Messages.EXPAND;
}
public Component createOperationViewer(Object value,
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/XMBeanAttributes.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/XMBeanAttributes.java Fri May 25 12:24:57 2012 +0200
@@ -66,9 +66,9 @@
import javax.swing.table.TableColumnModel;
import javax.swing.table.TableModel;
-import sun.tools.jconsole.Resources;
import sun.tools.jconsole.MBeansTab;
import sun.tools.jconsole.JConsole;
+import sun.tools.jconsole.Messages;
import sun.tools.jconsole.ProxyClient.SnapshotMBeanServerConnection;
/*IMPORTANT :
@@ -84,8 +84,8 @@
Logger.getLogger(XMBeanAttributes.class.getPackage().getName());
private final static String[] columnNames =
- {Resources.getText("Name"),
- Resources.getText("Value")};
+ {Messages.NAME,
+ Messages.VALUE};
private XMBean mbean;
private MBeanInfo mbeanInfo;
@@ -267,7 +267,7 @@
public boolean isColumnEditable(int column) {
if (column < getColumnCount()) {
- return getColumnName(column).equals(Resources.getText("Value"));
+ return getColumnName(column).equals(Messages.VALUE);
}
else {
return false;
@@ -313,7 +313,7 @@
if (value != null) {
tip = value.toString();
if(isAttributeViewable(row, VALUE_COLUMN))
- tip = Resources.getText("Double click to expand/collapse")+
+ tip = Messages.DOUBLE_CLICK_TO_EXPAND_FORWARD_SLASH_COLLAPSE+
". " + tip;
}
@@ -589,7 +589,7 @@
comp,
rowMinHeight);
- mbeansTab.getDataViewer().registerForMouseEvent(
+ XDataViewer.registerForMouseEvent(
comp, mouseListener);
} else
return cell;
@@ -724,7 +724,7 @@
mbeansTab.getDataViewer().createAttributeViewer(
value, mbean, attribute, XMBeanAttributes.this);
cell.init(cell.getMinRenderer(), comp, cell.getMinHeight());
- mbeansTab.getDataViewer().registerForMouseEvent(comp, mouseListener);
+ XDataViewer.registerForMouseEvent(comp, mouseListener);
}
} else {
cell = new ZoomedCell(value);
@@ -735,7 +735,7 @@
}
}
- //will be called in a synchronzed block
+ //will be called in a synchronized block
protected void addTableData(DefaultTableModel tableModel,
XMBean mbean,
MBeanAttributeInfo[] attributesInfo,
@@ -749,7 +749,7 @@
for (int i = 0; i < attributesInfo.length; i++) {
rowData[0] = (attributesInfo[i].getName());
if (unavailableAttributes.containsKey(rowData[0])) {
- rowData[1] = Resources.getText("Unavailable");
+ rowData[1] = Messages.UNAVAILABLE;
} else if (viewableAttributes.containsKey(rowData[0])) {
rowData[1] = viewableAttributes.get(rowData[0]);
if (!attributesInfo[i].isWritable() ||
@@ -811,7 +811,6 @@
}
}
- @SuppressWarnings("serial")
class ValueCellEditor extends XTextFieldEditor {
// implements javax.swing.table.TableCellEditor
@Override
@@ -866,7 +865,6 @@
}
}
- @SuppressWarnings("serial")
class MaximizedCellRenderer extends DefaultTableCellRenderer {
Component comp;
MaximizedCellRenderer(Component comp) {
@@ -1018,7 +1016,7 @@
(String)tableValue);// value
} catch (Throwable ex) {
popupAndLog(ex,"tableChanged",
- "Problem setting attribute");
+ Messages.PROBLEM_SETTING_ATTRIBUTE);
}
}
final String attributeName = getValueName(e.getFirstRow());
@@ -1042,7 +1040,7 @@
}
mbean.setAttribute(attribute);
} catch (Throwable ex) {
- popupAndLog(ex,method,"Problem setting attribute");
+ popupAndLog(ex,method,Messages.PROBLEM_SETTING_ATTRIBUTE);
}
return null;
}
@@ -1062,7 +1060,7 @@
}
// Call this outside EDT
- private void popupAndLog(Throwable ex, String method, String key) {
+ private void popupAndLog(Throwable ex, String method, String title) {
ex = Utils.getActualException(ex);
if (JConsole.isDebug()) ex.printStackTrace();
@@ -1070,7 +1068,7 @@
: ex.toString();
EventQueue.invokeLater(
new ThreadDialog(component, message+"\n",
- Resources.getText(key),
+ title,
JOptionPane.ERROR_MESSAGE));
}
}
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/XMBeanInfo.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/XMBeanInfo.java Fri May 25 12:24:57 2012 +0200
@@ -35,7 +35,8 @@
import javax.swing.border.TitledBorder;
import javax.swing.event.*;
import javax.swing.table.*;
-import sun.tools.jconsole.Resources;
+
+import sun.tools.jconsole.Messages;
import static sun.tools.jconsole.Utilities.*;
@@ -43,11 +44,11 @@
public class XMBeanInfo extends JPanel {
private static final Color lightYellow = new Color(255, 255, 128);
- private final int NAME_COLUMN = 0;
+ private final int NAME_COLUMN = 0;
private final int VALUE_COLUMN = 1;
private final String[] columnNames = {
- Resources.getText("Name"),
- Resources.getText("Value")
+ Messages.NAME,
+ Messages.VALUE
};
private JTable infoTable = new JTable();
private JTable descTable = new JTable();
@@ -163,7 +164,7 @@
descTable.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
JScrollPane descTableScrollPane = new JScrollPane(descTable);
descBorderPanel.setBorder(
- BorderFactory.createTitledBorder(Resources.getText("Descriptor")));
+ BorderFactory.createTitledBorder(Messages.DESCRIPTOR));
descBorderPanel.add(descTableScrollPane);
// Add the two tables to the grid
//
@@ -230,20 +231,20 @@
emptyInfoTable();
emptyDescTable();
((TitledBorder) infoBorderPanel.getBorder()).setTitle(
- Resources.getText("MBeanInfo"));
- String text = Resources.getText("Info") + ":";
+ Messages.MBEAN_INFO);
+ String text = Messages.INFO + ":";
DefaultTableModel tableModel = (DefaultTableModel) infoTable.getModel();
Object rowData[] = new Object[2];
rowData[0] = new TableRowDivider(text);
rowData[1] = new TableRowDivider("");
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("ObjectName");
+ rowData[0] = Messages.OBJECT_NAME;
rowData[1] = mbean.getObjectName();
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("ClassName");
+ rowData[0] = Messages.CLASS_NAME;
rowData[1] = mbeanInfo.getClassName();
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("Description");
+ rowData[0] = Messages.DESCRIPTION;
rowData[1] = mbeanInfo.getDescription();
tableModel.addRow(rowData);
addDescriptor(mbeanInfo.getDescriptor(), text);
@@ -252,13 +253,13 @@
int i = 0;
for (MBeanConstructorInfo mbci : mbeanInfo.getConstructors()) {
addMBeanConstructorInfo(mbci,
- Resources.getText("Constructor") + "-" + i + ":");
+ Messages.CONSTRUCTOR + "-" + i + ":");
// MBeanParameterInfo
//
int j = 0;
for (MBeanParameterInfo mbpi : mbci.getSignature()) {
addMBeanParameterInfo(mbpi,
- Resources.getText("Parameter") + "-" + i + "-" + j + ":");
+ Messages.PARAMETER + "-" + i + "-" + j + ":");
j++;
}
i++;
@@ -271,29 +272,29 @@
emptyInfoTable();
emptyDescTable();
((TitledBorder) infoBorderPanel.getBorder()).setTitle(
- Resources.getText("MBeanAttributeInfo"));
- String text = Resources.getText("Attribute") + ":";
+ Messages.MBEAN_ATTRIBUTE_INFO);
+ String text = Messages.ATTRIBUTE + ":";
DefaultTableModel tableModel = (DefaultTableModel) infoTable.getModel();
Object rowData[] = new Object[2];
rowData[0] = new TableRowDivider(text);
rowData[1] = new TableRowDivider("");
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("Name");
+ rowData[0] = Messages.NAME;
rowData[1] = mbai.getName();
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("Description");
+ rowData[0] = Messages.DESCRIPTION;
rowData[1] = mbai.getDescription();
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("Readable");
+ rowData[0] = Messages.READABLE;
rowData[1] = mbai.isReadable();
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("Writable");
+ rowData[0] = Messages.WRITABLE;
rowData[1] = mbai.isWritable();
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("Is");
+ rowData[0] = Messages.IS;
rowData[1] = mbai.isIs();
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("Type");
+ rowData[0] = Messages.TYPE;
rowData[1] = mbai.getType();
tableModel.addRow(rowData);
addDescriptor(mbai.getDescriptor(), text);
@@ -305,36 +306,36 @@
emptyInfoTable();
emptyDescTable();
((TitledBorder) infoBorderPanel.getBorder()).setTitle(
- Resources.getText("MBeanOperationInfo"));
- String text = Resources.getText("Operation") + ":";
+ Messages.MBEAN_OPERATION_INFO);
+ String text = Messages.OPERATION + ":";
DefaultTableModel tableModel = (DefaultTableModel) infoTable.getModel();
Object rowData[] = new Object[2];
rowData[0] = new TableRowDivider(text);
rowData[1] = new TableRowDivider("");
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("Name");
+ rowData[0] = Messages.NAME;
rowData[1] = mboi.getName();
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("Description");
+ rowData[0] = Messages.DESCRIPTION;
rowData[1] = mboi.getDescription();
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("Impact");
+ rowData[0] = Messages.IMPACT;
switch (mboi.getImpact()) {
case MBeanOperationInfo.INFO:
- rowData[1] = Resources.getText("INFO");
+ rowData[1] = Messages.INFO_CAPITALIZED;
break;
case MBeanOperationInfo.ACTION:
- rowData[1] = Resources.getText("ACTION");
+ rowData[1] = Messages.ACTION_CAPITALIZED;
break;
case MBeanOperationInfo.ACTION_INFO:
- rowData[1] = Resources.getText("ACTION_INFO");
+ rowData[1] = Messages.ACTION_INFO_CAPITALIZED;
break;
case MBeanOperationInfo.UNKNOWN:
- rowData[1] = Resources.getText("UNKNOWN");
+ rowData[1] = Messages.UNKNOWN_CAPITALIZED;
break;
}
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("ReturnType");
+ rowData[0] = Messages.RETURN_TYPE;
rowData[1] = mboi.getReturnType();
tableModel.addRow(rowData);
addDescriptor(mboi.getDescriptor(), text);
@@ -343,7 +344,7 @@
int i = 0;
for (MBeanParameterInfo mbpi : mboi.getSignature()) {
addMBeanParameterInfo(mbpi,
- Resources.getText("Parameter") + "-" + i++ + ":");
+ Messages.PARAMETER + "-" + i++ + ":");
}
tableModel.newDataAvailable(new TableModelEvent(tableModel));
}
@@ -353,20 +354,20 @@
emptyInfoTable();
emptyDescTable();
((TitledBorder) infoBorderPanel.getBorder()).setTitle(
- Resources.getText("MBeanNotificationInfo"));
- String text = Resources.getText("Notification") + ":";
+ Messages.MBEAN_NOTIFICATION_INFO);
+ String text = Messages.NOTIFICATION + ":";
DefaultTableModel tableModel = (DefaultTableModel) infoTable.getModel();
Object rowData[] = new Object[2];
rowData[0] = new TableRowDivider(text);
rowData[1] = new TableRowDivider("");
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("Name");
+ rowData[0] = Messages.NAME;
rowData[1] = mbni.getName();
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("Description");
+ rowData[0] = Messages.DESCRIPTION;
rowData[1] = mbni.getDescription();
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("NotifTypes");
+ rowData[0] = Messages.NOTIF_TYPES;
rowData[1] = Arrays.toString(mbni.getNotifTypes());
tableModel.addRow(rowData);
addDescriptor(mbni.getDescriptor(), text);
@@ -380,10 +381,10 @@
rowData[0] = new TableRowDivider(text);
rowData[1] = new TableRowDivider("");
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("Name");
+ rowData[0] = Messages.NAME;
rowData[1] = mbci.getName();
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("Description");
+ rowData[0] = Messages.DESCRIPTION;
rowData[1] = mbci.getDescription();
tableModel.addRow(rowData);
addDescriptor(mbci.getDescriptor(), text);
@@ -397,13 +398,13 @@
rowData[0] = new TableRowDivider(text);
rowData[1] = new TableRowDivider("");
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("Name");
+ rowData[0] = Messages.NAME;
rowData[1] = mbpi.getName();
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("Description");
+ rowData[0] = Messages.DESCRIPTION;
rowData[1] = mbpi.getDescription();
tableModel.addRow(rowData);
- rowData[0] = Resources.getText("Type");
+ rowData[0] = Messages.TYPE;
rowData[1] = mbpi.getType();
tableModel.addRow(rowData);
addDescriptor(mbpi.getDescriptor(), text);
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/XMBeanNotifications.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/XMBeanNotifications.java Fri May 25 12:24:57 2012 +0200
@@ -26,7 +26,6 @@
package sun.tools.jconsole.inspector;
import javax.swing.*;
-import javax.swing.event.*;
import javax.swing.table.*;
import javax.swing.tree.*;
import java.awt.Font;
@@ -46,19 +45,19 @@
import javax.management.openmbean.TabularData;
import sun.tools.jconsole.JConsole;
-import sun.tools.jconsole.Resources;
+import sun.tools.jconsole.Messages;
@SuppressWarnings("serial")
public class XMBeanNotifications extends JTable implements NotificationListener {
private final static String[] columnNames = {
- Resources.getText("TimeStamp"),
- Resources.getText("Type"),
- Resources.getText("UserData"),
- Resources.getText("SeqNum"),
- Resources.getText("Message"),
- Resources.getText("Event"),
- Resources.getText("Source")
+ Messages.TIME_STAMP,
+ Messages.TYPE,
+ Messages.USER_DATA,
+ Messages.SEQ_NUM,
+ Messages.MESSAGE,
+ Messages.EVENT,
+ Messages.SOURCE
};
private HashMap<ObjectName, XMBeanNotificationsListener> listeners =
new HashMap<ObjectName, XMBeanNotificationsListener>();
@@ -183,7 +182,7 @@
}
if (cell != null) {
- toolTip = Resources.getText("Double click to expand/collapse") +
+ toolTip = Messages.DOUBLE_CLICK_TO_EXPAND_FORWARD_SLASH_COLLAPSE+
". " + cell.toString();
} else {
Object val =
@@ -599,7 +598,6 @@
class XMBeanNotificationsListener implements NotificationListener {
- private String[] columnNames;
private XMBean xmbean;
private DefaultMutableTreeNode node;
private volatile long received;
@@ -615,7 +613,6 @@
this.notifications = notifications;
this.xmbean = xmbean;
this.node = node;
- this.columnNames = columnNames;
register(node);
}
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/XObject.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/XObject.java Fri May 25 12:24:57 2012 +0200
@@ -28,17 +28,6 @@
// java import
import javax.swing.*;
-//
-
-// java import
-import java.io.*;
-import java.awt.*;
-import java.awt.dnd.*;
-import java.awt.datatransfer.*;
-import java.net.*;
-//
-
-
/**
* This provides a wrapper to the Object class to allow it to be
displayed/manipulated as a GUI object.
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/XOpenTypeViewer.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/XOpenTypeViewer.java Fri May 25 12:24:57 2012 +0200
@@ -28,33 +28,21 @@
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;
-import javax.swing.tree.*;
-import javax.swing.border.*;
import java.awt.BorderLayout;
-import java.awt.GridLayout;
import java.awt.FlowLayout;
import java.awt.Component;
-import java.awt.EventQueue;
import java.awt.Color;
import java.awt.Font;
-import java.awt.Rectangle;
import java.awt.event.*;
-import java.awt.Insets;
import java.awt.Dimension;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
import java.util.*;
-import java.io.*;
import java.lang.reflect.Array;
-import javax.management.*;
import javax.management.openmbean.*;
-import sun.tools.jconsole.BorderedComponent;
import sun.tools.jconsole.JConsole;
-import sun.tools.jconsole.LabeledComponent;
+import sun.tools.jconsole.Messages;
import sun.tools.jconsole.Resources;
-import sun.tools.jconsole.VariableGridLayout;
@SuppressWarnings("serial")
public class XOpenTypeViewer extends JPanel implements ActionListener {
@@ -65,9 +53,9 @@
XOpenTypeDataListener listener = new XOpenTypeDataListener();
private static final String compositeNavigationSingle =
- Resources.getText("MBeansTab.compositeNavigationSingle");
+ Messages.MBEANS_TAB_COMPOSITE_NAVIGATION_SINGLE;
private static final String tabularNavigationSingle =
- Resources.getText("MBeansTab.tabularNavigationSingle");
+ Messages.MBEANS_TAB_TABULAR_NAVIGATION_SINGLE;
private static TableCellEditor editor =
new Utils.ReadOnlyTableCellEditor(new JTextField());
@@ -121,7 +109,6 @@
static abstract class XOpenTypeData extends JTable {
XOpenTypeData parent;
- private Color defaultColor;
protected int col1Width = -1;
protected int col2Width = -1;
private boolean init;
@@ -139,7 +126,7 @@
Object value = getModel().getValueAt(row, col);
if (value != null) {
if(isClickableElement(value))
- return Resources.getText("Double click to visualize")
+ return Messages.DOUBLE_CLICK_TO_VISUALIZE
+ ". " + value.toString();
else
return value.toString();
@@ -265,7 +252,7 @@
Object c1 = o1.get(key);
Object c2 = o2.get(key);
if (c1 instanceof Comparable && c2 instanceof Comparable) {
- int result = ((Comparable) c1).compareTo(c2);
+ int result = ((Comparable<Object>) c1).compareTo(c2);
if (result != 0)
return result;
}
@@ -358,7 +345,7 @@
static class XCompositeData extends XOpenTypeData {
protected final String[] columnNames = {
- Resources.getText("Name"), Resources.getText("Value")
+ Messages.NAME, Messages.VALUE
};
CompositeData composite;
@@ -398,8 +385,8 @@
private void load(CompositeData data) {
CompositeType type = data.getCompositeType();
- Set keys = type.keySet();
- Iterator it = keys.iterator();
+ Set<String> keys = type.keySet();
+ Iterator<String> it = keys.iterator();
Object[] rowData = new Object[2];
while (it.hasNext()) {
String key = (String) it.next();
@@ -408,13 +395,13 @@
if (val == null) {
rowData[1] = "";
} else {
- OpenType openType = type.getType(key);
+ OpenType<?> openType = type.getType(key);
if (openType instanceof CompositeType) {
rowData[1] =
new XCompositeData(this, (CompositeData) val);
} else if (openType instanceof ArrayType) {
rowData[1] =
- new XArrayData(this, (ArrayType) openType, val);
+ new XArrayData(this, (ArrayType<?>) openType, val);
} else if (openType instanceof SimpleType) {
rowData[1] = val;
} else if (openType instanceof TabularType) {
@@ -453,21 +440,21 @@
private int dimension;
private int size;
- private OpenType elemType;
+ private OpenType<?> elemType;
private Object val;
private boolean isCompositeType;
private boolean isTabularType;
private int currentIndex;
private CompositeData[] elements;
- private final String[] arrayColumns = {Resources.getText("Value")};
+ private final String[] arrayColumns = {Messages.VALUE};
private Font normalFont, boldFont;
- XArrayData(XOpenTypeData parent, ArrayType type, Object val) {
+ XArrayData(XOpenTypeData parent, ArrayType<?> type, Object val) {
this(parent, type.getDimension(), type.getElementOpenType(), val);
}
XArrayData(XOpenTypeData parent, int dimension,
- OpenType elemType, Object val) {
+ OpenType<?> elemType, Object val) {
super(parent);
this.dimension = dimension;
this.elemType = elemType;
@@ -486,10 +473,9 @@
public void viewed(XOpenTypeViewer viewer) throws Exception {
if (size == 0)
- throw new Exception(Resources.getText("Empty array"));
+ throw new Exception(Messages.EMPTY_ARRAY);
if (dimension > 1)
- throw new Exception(Resources.getText("Dimension is not " +
- "supported:") +
+ throw new Exception(Messages.DIMENSION_IS_NOT_SUPPORTED_COLON +
dimension);
super.viewed(viewer);
}
@@ -565,7 +551,7 @@
public String toString() {
if (dimension > 1) {
- return Resources.getText("Dimension is not supported:") +
+ return Messages.DIMENSION_IS_NOT_SUPPORTED_COLON +
dimension;
} else {
return elemType.getTypeName() + "[" + size + "]";
@@ -694,7 +680,7 @@
tabular.canIncrement() || tabular.canDecrement();
if (hasMoreThanOneElement) {
tabularLabel.setText(
- Resources.getText("MBeansTab.tabularNavigationMultiple",
+ Resources.format(Messages.MBEANS_TAB_TABULAR_NAVIGATION_MULTIPLE,
String.format("%d", tabular.getSelectedElementIndex() + 1),
String.format("%d", tabular.getElementCount())));
} else {
@@ -717,7 +703,7 @@
array.canIncrement() || array.canDecrement();
if (hasMoreThanOneElement) {
compositeLabel.setText(
- Resources.getText("MBeansTab.compositeNavigationMultiple",
+ Resources.format(Messages.MBEANS_TAB_COMPOSITE_NAVIGATION_MULTIPLE,
String.format("%d", array.getSelectedElementIndex() + 1),
String.format("%d", array.getElementCount())));
} else {
@@ -781,8 +767,8 @@
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
JPanel buttons = new JPanel(new FlowLayout(FlowLayout.LEFT));
- tabularPrev = new JButton(Resources.getText("<"));
- tabularNext = new JButton(Resources.getText(">"));
+ tabularPrev = new JButton(Messages.LESS_THAN);
+ tabularNext = new JButton(Messages.GREATER_THAN);
JPanel tabularButtons = new JPanel(new FlowLayout(FlowLayout.LEFT));
tabularButtons.add(tabularPrev);
tabularPrev.addActionListener(this);
@@ -793,13 +779,13 @@
tabularNext.addActionListener(this);
tabularButtons.setBackground(Color.white);
- prev = new JButton(Resources.getText("<<"));
+ prev = new JButton(Messages.A_LOT_LESS_THAN);
prev.addActionListener(this);
buttons.add(prev);
- incr = new JButton(Resources.getText(">"));
+ incr = new JButton(Messages.GREATER_THAN);
incr.addActionListener(this);
- decr = new JButton(Resources.getText("<"));
+ decr = new JButton(Messages.LESS_THAN);
decr.addActionListener(this);
JPanel array = new JPanel();
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/XOperations.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/XOperations.java Fri May 25 12:24:57 2012 +0200
@@ -26,22 +26,18 @@
package sun.tools.jconsole.inspector;
import javax.swing.*;
-import javax.swing.event.*;
-import javax.swing.table.*;
-import javax.swing.tree.*;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.FlowLayout;
import java.awt.Component;
import java.awt.event.*;
import java.util.*;
-import java.io.*;
import javax.management.*;
-import sun.tools.jconsole.Resources;
import sun.tools.jconsole.MBeansTab;
import sun.tools.jconsole.JConsole;
+import sun.tools.jconsole.Messages;
public abstract class XOperations extends JPanel implements ActionListener {
@@ -185,8 +181,8 @@
} else {
new ThreadDialog(
button,
- Resources.getText("Method successfully invoked"),
- Resources.getText("Info"),
+ Messages.METHOD_SUCCESSFULLY_INVOKED,
+ Messages.INFO,
JOptionPane.INFORMATION_MESSAGE).run();
}
} catch (Throwable t) {
@@ -196,9 +192,9 @@
}
new ThreadDialog(
button,
- Resources.getText("Problem invoking") + " " +
+ Messages.PROBLEM_INVOKING + " " +
button.getText() + " : " + t.toString(),
- Resources.getText("Error"),
+ Messages.ERROR,
JOptionPane.ERROR_MESSAGE).run();
}
}
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/XPlotter.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/XPlotter.java Fri May 25 12:24:57 2012 +0200
@@ -27,7 +27,6 @@
import sun.tools.jconsole.Plotter;
import javax.swing.JTable;
-import java.awt.Graphics;
@SuppressWarnings("serial")
public class XPlotter extends Plotter {
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/XPlottingViewer.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/XPlottingViewer.java Fri May 25 12:24:57 2012 +0200
@@ -45,10 +45,7 @@
new HashMap<String, XPlottingViewer>();
private static HashMap<String, Timer> timerCache =
new HashMap<String, Timer>();
- private JPanel bordered;
- private Number value;
private MBeansTab tab;
- private XMBean mbean;
private String attributeName;
private String key;
private JTable table;
@@ -62,7 +59,6 @@
this.tab = tab;
this.key = key;
- this.mbean = mbean;
this.table = table;
this.attributeName = attributeName;
Plotter plotter = createPlotter(mbean, attributeName, key, table);
@@ -70,9 +66,9 @@
}
static void dispose(MBeansTab tab) {
- Iterator it = plotterCache.keySet().iterator();
+ Iterator<String> it = plotterCache.keySet().iterator();
while(it.hasNext()) {
- String key = (String) it.next();
+ String key = it.next();
if(key.startsWith(String.valueOf(tab.hashCode()))) {
it.remove();
}
@@ -187,7 +183,7 @@
final GridBagLayout gbl = new GridBagLayout();
buttonPanel.setLayout(gbl);
setLayout(new BorderLayout());
- plotButton = new JButton(Resources.getText("Discard chart"));
+ plotButton = new JButton(Messages.DISCARD_CHART);
plotButton.addActionListener(this);
plotButton.setEnabled(true);
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/XSheet.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/XSheet.java Fri May 25 12:24:57 2012 +0200
@@ -57,8 +57,6 @@
import sun.tools.jconsole.*;
import sun.tools.jconsole.inspector.XNodeInfo.Type;
-import static sun.tools.jconsole.Resources.*;
-
@SuppressWarnings("serial")
public class XSheet extends JPanel
implements ActionListener, NotificationListener {
@@ -106,28 +104,24 @@
southPanel = new JPanel();
add(southPanel, BorderLayout.SOUTH);
// create the refresh button
- String refreshButtonKey = "MBeansTab.refreshAttributesButton";
- refreshButton = new JButton(getText(refreshButtonKey));
- refreshButton.setMnemonic(getMnemonicInt(refreshButtonKey));
- refreshButton.setToolTipText(getText(refreshButtonKey + ".toolTip"));
+ refreshButton = new JButton(Messages.MBEANS_TAB_REFRESH_ATTRIBUTES_BUTTON);
+ refreshButton.setMnemonic(Resources.getMnemonicInt(Messages.MBEANS_TAB_REFRESH_ATTRIBUTES_BUTTON));
+ refreshButton.setToolTipText(Messages.MBEANS_TAB_REFRESH_ATTRIBUTES_BUTTON_TOOLTIP);
refreshButton.addActionListener(this);
// create the clear button
- String clearButtonKey = "MBeansTab.clearNotificationsButton";
- clearButton = new JButton(getText(clearButtonKey));
- clearButton.setMnemonic(getMnemonicInt(clearButtonKey));
- clearButton.setToolTipText(getText(clearButtonKey + ".toolTip"));
+ clearButton = new JButton(Messages.MBEANS_TAB_CLEAR_NOTIFICATIONS_BUTTON);
+ clearButton.setMnemonic(Resources.getMnemonicInt(Messages.MBEANS_TAB_CLEAR_NOTIFICATIONS_BUTTON));
+ clearButton.setToolTipText(Messages.MBEANS_TAB_CLEAR_NOTIFICATIONS_BUTTON_TOOLTIP);
clearButton.addActionListener(this);
// create the subscribe button
- String subscribeButtonKey = "MBeansTab.subscribeNotificationsButton";
- subscribeButton = new JButton(getText(subscribeButtonKey));
- subscribeButton.setMnemonic(getMnemonicInt(subscribeButtonKey));
- subscribeButton.setToolTipText(getText(subscribeButtonKey + ".toolTip"));
+ subscribeButton = new JButton(Messages.MBEANS_TAB_SUBSCRIBE_NOTIFICATIONS_BUTTON);
+ subscribeButton.setMnemonic(Resources.getMnemonicInt(Messages.MBEANS_TAB_SUBSCRIBE_NOTIFICATIONS_BUTTON));
+ subscribeButton.setToolTipText(Messages.MBEANS_TAB_SUBSCRIBE_NOTIFICATIONS_BUTTON_TOOLTIP);
subscribeButton.addActionListener(this);
// create the unsubscribe button
- String unsubscribeButtonKey = "MBeansTab.unsubscribeNotificationsButton";
- unsubscribeButton = new JButton(getText(unsubscribeButtonKey));
- unsubscribeButton.setMnemonic(getMnemonicInt(unsubscribeButtonKey));
- unsubscribeButton.setToolTipText(getText(unsubscribeButtonKey + ".toolTip"));
+ unsubscribeButton = new JButton(Messages.MBEANS_TAB_UNSUBSCRIBE_NOTIFICATIONS_BUTTON);
+ unsubscribeButton.setMnemonic(Resources.getMnemonicInt(Messages.MBEANS_TAB_UNSUBSCRIBE_NOTIFICATIONS_BUTTON));
+ unsubscribeButton.setToolTipText(Messages.MBEANS_TAB_UNSUBSCRIBE_NOTIFICATIONS_BUTTON_TOOLTIP);
unsubscribeButton.addActionListener(this);
// create XMBeanAttributes container
mbeanAttributes = new XMBeanAttributes(mbeansTab);
@@ -238,7 +232,7 @@
t.printStackTrace();
}
showErrorDialog(t.toString(),
- Resources.getText("Problem displaying MBean"));
+ Messages.PROBLEM_DISPLAYING_MBEAN);
}
}
};
@@ -279,7 +273,7 @@
new JPanel(new BorderLayout());
attributeBorderPanel.setBorder(
BorderFactory.createTitledBorder(
- Resources.getText("Attribute value")));
+ Messages.ATTRIBUTE_VALUE));
JPanel attributeValuePanel =
new JPanel(new BorderLayout());
attributeValuePanel.setBorder(
@@ -314,7 +308,7 @@
t.printStackTrace();
}
showErrorDialog(t.toString(),
- Resources.getText("Problem displaying MBean"));
+ Messages.PROBLEM_DISPLAYING_MBEAN);
}
}
};
@@ -333,7 +327,7 @@
JPanel operationPanel = new JPanel(new BorderLayout());
JPanel operationBorderPanel = new JPanel(new BorderLayout());
operationBorderPanel.setBorder(BorderFactory.createTitledBorder(
- Resources.getText("Operation invocation")));
+ Messages.OPERATION_INVOCATION));
operationBorderPanel.add(new JScrollPane(mbeanOperations));
operationPanel.add(operationBorderPanel, BorderLayout.NORTH);
mbi.addMBeanOperationInfo(mboi);
@@ -389,7 +383,7 @@
mainPanel.removeAll();
JPanel borderPanel = new JPanel(new BorderLayout());
borderPanel.setBorder(BorderFactory.createTitledBorder(
- Resources.getText("Attribute values")));
+ Messages.ATTRIBUTE_VALUES));
borderPanel.add(new JScrollPane(mbeanAttributes));
mainPanel.add(borderPanel, BorderLayout.CENTER);
// add the refresh button to the south panel
@@ -409,7 +403,7 @@
t.printStackTrace();
}
showErrorDialog(t.toString(),
- Resources.getText("Problem displaying MBean"));
+ Messages.PROBLEM_DISPLAYING_MBEAN);
}
}
};
@@ -442,7 +436,7 @@
mainPanel.removeAll();
JPanel borderPanel = new JPanel(new BorderLayout());
borderPanel.setBorder(BorderFactory.createTitledBorder(
- Resources.getText("Operation invocation")));
+ Messages.OPERATION_INVOCATION));
borderPanel.add(new JScrollPane(mbeanOperations));
mainPanel.add(borderPanel, BorderLayout.CENTER);
southPanel.setVisible(false);
@@ -459,7 +453,7 @@
t.printStackTrace();
}
showErrorDialog(t.toString(),
- Resources.getText("Problem displaying MBean"));
+ Messages.PROBLEM_DISPLAYING_MBEAN);
}
}
};
@@ -479,7 +473,7 @@
mainPanel.removeAll();
JPanel borderPanel = new JPanel(new BorderLayout());
borderPanel.setBorder(BorderFactory.createTitledBorder(
- Resources.getText("Notification buffer")));
+ Messages.NOTIFICATION_BUFFER));
borderPanel.add(new JScrollPane(mbeanNotifications));
mainPanel.add(borderPanel, BorderLayout.CENTER);
// add the subscribe/unsubscribe/clear buttons to the south panel
@@ -528,7 +522,7 @@
t.printStackTrace();
}
showErrorDialog(t.getMessage(),
- Resources.getText("Problem adding listener"));
+ Messages.PROBLEM_ADDING_LISTENER);
}
}
}.execute();
@@ -557,7 +551,7 @@
t.printStackTrace();
}
showErrorDialog(t.getMessage(),
- Resources.getText("Problem removing listener"));
+ Messages.PROBLEM_REMOVING_LISTENER);
}
}
}.execute();
@@ -586,7 +580,7 @@
// Call on EDT
private void updateReceivedNotifications(
DefaultMutableTreeNode emitter, long received, boolean bold) {
- String text = Resources.getText("Notifications") + "[" + received + "]";
+ String text = Messages.NOTIFICATIONS + "[" + received + "]";
DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) mbeansTab.getTree().getLastSelectedPathComponent();
if (bold && emitter != selectedNode) {
text = "<html><b>" + text + "</b></html>";
@@ -600,7 +594,7 @@
// Call on EDT
private void clearNotifications() {
updateNotificationsNodeLabel(currentNode,
- Resources.getText("Notifications"));
+ Messages.NOTIFICATIONS);
}
/**
@@ -609,7 +603,7 @@
// Call on EDT
private void clearNotifications0() {
updateNotificationsNodeLabel(currentNode,
- Resources.getText("Notifications") + "[0]");
+ Messages.NOTIFICATIONS + "[0]");
}
/**
@@ -712,7 +706,7 @@
new ThreadDialog(
(Component) e.getSource(),
message,
- Resources.getText("Operation return value"),
+ Messages.OPERATION_RETURN_VALUE,
JOptionPane.INFORMATION_MESSAGE).run();
} // Got notification
else if (e.getType().equals(
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/XTable.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/XTable.java Fri May 25 12:24:57 2012 +0200
@@ -36,7 +36,7 @@
public abstract class XTable extends JTable {
static final int NAME_COLUMN = 0;
static final int VALUE_COLUMN = 1;
- private Color defaultColor, editableColor, droppableColor, errorColor;
+ private Color defaultColor, editableColor, errorColor;
private Font normalFont, boldFont;
public XTable () {
@@ -139,7 +139,6 @@
if (defaultColor == null) {
defaultColor = tcr.getForeground();
editableColor = Color.blue;
- droppableColor = Color.green;
errorColor = Color.red;
// this sometimes happens for some reason
if (defaultColor == null) {
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/XTextField.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/XTextField.java Fri May 25 12:24:57 2012 +0200
@@ -26,12 +26,7 @@
package sun.tools.jconsole.inspector;
import java.awt.*;
-import java.awt.dnd.*;
import java.awt.event.*;
-import java.awt.datatransfer.*;
-import java.io.*;
-import java.util.*;
-import javax.swing.plaf.*;
import javax.swing.event.*;
import javax.swing.*;
@@ -44,16 +39,8 @@
implements DocumentListener,
ActionListener {
- private static final Color selF = Color.red;
- private static final Color selB = Color.yellow;
- private Color fore=null, back=null;
- private HashMap items = null; //used for popup menu selection
private XObject selectedObject;
- private XObject currentObject;
- private Class expectedClass;
- private Object value;
protected JTextField textField;
- private JButton browseObjects;
private static boolean allowNullSelection = false;
@@ -81,13 +68,12 @@
}
public XTextField(Object value,
- Class expectedClass,
+ Class<?> expectedClass,
int colWidth,
boolean isCallable,
JButton button,
XOperations operation) {
super(new BorderLayout());
- this.expectedClass = expectedClass;
this.button = button;
this.operation = operation;
add(textField = new JTextField(value.toString(),colWidth),
@@ -112,17 +98,13 @@
return allowNullSelection;
}
- protected void init(Object value, Class expectedClass) {
- this.expectedClass = expectedClass;
- this.value = value;
- boolean fieldEditable = Utils.isEditableType(expectedClass.getName());
+ protected void init(Object value, Class<?> expectedClass) {
+ boolean fieldEditable = Utils.isEditableType(expectedClass.getName());
clearObject();
if (value != null) {
- currentObject = new XObject(value);
textField.setText(value.toString());
}
else {
- currentObject = XObject.NULL_OBJECT;
//null String value for the moment
textField.setText("");
}
@@ -140,35 +122,12 @@
}
}
-
-
-
-
- private synchronized void setObject(XObject object) {
- clearObject();
- selectedObject = object;
- currentObject = object;
- setSelectedColors();
- textField.setText(object.getText());
- textField.getDocument().addDocumentListener(this);
- paintImmediately(getVisibleRect());
- }
-
private synchronized void clearObject() {
textField.getDocument().removeDocumentListener(this);
selectedObject = null;
- currentObject = null;
setDefaultColors();
}
- private synchronized void setSelectedColors() {
- // fore = textField.getForeground();
- // back = textField.getBackground();
-
- //textField.setForeground(Color.red);
- // textField.setBackground(Color.yellow);
- }
-
private synchronized void setDefaultColors() {
// if (fore != null) textField.setForeground(fore);
// if (back != null) textField.setBackground(back);
@@ -194,12 +153,6 @@
}
}
- private JPopupMenu buildEditPopupMenu() {
- JPopupMenu menu = new JPopupMenu();
- return menu;
- }
-
-
// ACTIONLISTENER IMPLEMENTATION
public void actionPerformed(ActionEvent e) {
if (e.getSource() instanceof JTextField) {
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/XTree.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/XTree.java Fri May 25 12:24:57 2012 +0200
@@ -32,7 +32,7 @@
import javax.swing.tree.*;
import sun.tools.jconsole.JConsole;
import sun.tools.jconsole.MBeansTab;
-import sun.tools.jconsole.Resources;
+import sun.tools.jconsole.Messages;
import sun.tools.jconsole.inspector.XNodeInfo;
import static sun.tools.jconsole.inspector.XNodeInfo.Type;
@@ -182,7 +182,7 @@
* Returns true if any of the children nodes is a non MBean metadata node.
*/
private boolean hasNonMetadataNodes(DefaultMutableTreeNode node) {
- for (Enumeration e = node.children(); e.hasMoreElements();) {
+ for (Enumeration<?> e = node.children(); e.hasMoreElements();) {
DefaultMutableTreeNode n = (DefaultMutableTreeNode) e.nextElement();
Object uo = n.getUserObject();
if (uo instanceof XNodeInfo) {
@@ -205,7 +205,7 @@
* Returns true if any of the children nodes is an MBean metadata node.
*/
public boolean hasMetadataNodes(DefaultMutableTreeNode node) {
- for (Enumeration e = node.children(); e.hasMoreElements();) {
+ for (Enumeration<?> e = node.children(); e.hasMoreElements();) {
DefaultMutableTreeNode n = (DefaultMutableTreeNode) e.nextElement();
Object uo = n.getUserObject();
if (uo instanceof XNodeInfo) {
@@ -251,7 +251,7 @@
Set<DefaultMutableTreeNode> metadataNodes =
new HashSet<DefaultMutableTreeNode>();
DefaultTreeModel model = (DefaultTreeModel) getModel();
- for (Enumeration e = node.children(); e.hasMoreElements();) {
+ for (Enumeration<?> e = node.children(); e.hasMoreElements();) {
DefaultMutableTreeNode n = (DefaultMutableTreeNode) e.nextElement();
Object uo = n.getUserObject();
if (uo instanceof XNodeInfo) {
@@ -596,7 +596,7 @@
if (ai != null && ai.length > 0) {
DefaultMutableTreeNode attributes = new DefaultMutableTreeNode();
XNodeInfo attributesUO = new XNodeInfo(Type.ATTRIBUTES, mbean,
- Resources.getText("Attributes"), null);
+ Messages.ATTRIBUTES, null);
attributes.setUserObject(attributesUO);
node.insert(attributes, childIndex++);
for (MBeanAttributeInfo mbai : ai) {
@@ -613,7 +613,7 @@
if (oi != null && oi.length > 0) {
DefaultMutableTreeNode operations = new DefaultMutableTreeNode();
XNodeInfo operationsUO = new XNodeInfo(Type.OPERATIONS, mbean,
- Resources.getText("Operations"), null);
+ Messages.OPERATIONS, null);
operations.setUserObject(operationsUO);
node.insert(operations, childIndex++);
for (MBeanOperationInfo mboi : oi) {
@@ -646,7 +646,7 @@
if (isBroadcaster != null && isBroadcaster.booleanValue()) {
DefaultMutableTreeNode notifications = new DefaultMutableTreeNode();
XNodeInfo notificationsUO = new XNodeInfo(Type.NOTIFICATIONS, mbean,
- Resources.getText("Notifications"), null);
+ Messages.NOTIFICATIONS, null);
notifications.setUserObject(notificationsUO);
node.insert(notifications, childIndex++);
if (ni != null && ni.length > 0) {
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/XTreeRenderer.java Fri May 25 14:32:07 2012 +0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/XTreeRenderer.java Fri May 25 12:24:57 2012 +0200
@@ -30,8 +30,6 @@
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;
-import sun.tools.jconsole.Resources;
-import sun.tools.jconsole.inspector.XNodeInfo.Type;
@SuppressWarnings("serial")
public class XTreeRenderer extends DefaultTreeCellRenderer {
--- a/jdk/src/share/classes/sun/tools/jconsole/resources/JConsoleResources.java Fri May 25 14:32:07 2012 +0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,462 +0,0 @@
-/*
- * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.tools.jconsole.resources;
-
-import java.util.*;
-
-import static java.awt.event.KeyEvent.*;
-
-/**
- * <p> This class represents the <code>ResourceBundle</code>
- * for the following package(s):
- *
- * <ol>
- * <li> sun.tools.jconsole
- * </ol>
- *
- * <P>
- * Subclasses must override <code>getContents0</code> and provide an array,
- * where each item in the array consists of a <code>String</code> key,
- * and either a <code>String</code> value associated with that key,
- * or if the keys ends with ".mnemonic", an element
- * representing a mnemomic keycode <code>int</code> or <code>char</code>.
- */
-public class JConsoleResources extends ListResourceBundle {
-
- /**
- * Returns the contents of this <code>ResourceBundle</code>.
- *
- * <p>
- *
- * @return the contents of this <code>ResourceBundle</code>.
- */
- protected Object[][] getContents0() {
- Object[][] temp = new Object[][] {
- // NOTE 1: The value strings in this file containing "{0}" are
- // processed by the java.text.MessageFormat class. Any
- // single quotes appearing in these strings need to be
- // doubled up.
- //
- // NOTE 2: To make working with this file a bit easier, please
- // maintain these messages in ASCII sorted order by
- // message key.
- //
- // LOCALIZE THIS
- {" 1 day"," 1 day"},
- {" 1 hour"," 1 hour"},
- {" 1 min"," 1 min"},
- {" 1 month"," 1 month"},
- {" 1 year"," 1 year"},
- {" 2 hours"," 2 hours"},
- {" 3 hours"," 3 hours"},
- {" 3 months"," 3 months"},
- {" 5 min"," 5 min"},
- {" 6 hours"," 6 hours"},
- {" 6 months"," 6 months"},
- {" 7 days"," 7 days"},
- {"10 min","10 min"},
- {"12 hours","12 hours"},
- {"30 min","30 min"},
- {"<","<"},
- {"<<","<<"},
- {">",">"},
- {"ACTION","ACTION"},
- {"ACTION_INFO","ACTION_INFO"},
- {"All","All"},
- {"Apply","Apply"},
- {"Architecture","Architecture"},
- {"Array, OpenType", "Array, OpenType"},
- {"Array, OpenType, Numeric value viewer","Array, OpenType, Numeric value viewer"},
- {"Attribute","Attribute"},
- {"Attribute value","Attribute value"},
- {"Attribute values","Attribute values"},
- {"Attributes","Attributes"},
- {"Blank", "Blank"},
- {"BlockedCount WaitedCount",
- "Total blocked: {0} Total waited: {1}\n"},
- {"Boot class path","Boot class path"},
- {"BorderedComponent.moreOrLessButton.toolTip", "Toggle to show more or less information"},
- {"CPU Usage","CPU Usage"},
- {"CPUUsageFormat","CPU Usage: {0}%"},
- {"Cancel","Cancel"},
- {"Cascade", "Cascade"},
- {"Cascade.mnemonic", 'C'},
- {"Chart:", "Chart:"},
- {"Chart:.mnemonic", 'C'},
- {"Class path","Class path"},
- {"Class","Class"},
- {"ClassName","ClassName"},
- {"ClassTab.infoLabelFormat", "<html>Loaded: {0} Unloaded: {1} Total: {2}</html>"},
- {"ClassTab.loadedClassesPlotter.accessibleName", "Chart for Loaded Classes."},
- {"Classes","Classes"},
- {"Close","Close"},
- {"Column.Name", "Name"},
- {"Column.PID", "PID"},
- {"Committed memory","Committed memory"},
- {"Committed virtual memory","Committed virtual memory"},
- {"Committed", "Committed"},
- {"Compiler","Compiler"},
- {"CompositeData","CompositeData"},
- {"Config","Config"},
- {"Connect", "Connect"},
- {"Connect.mnemonic", 'C'},
- {"Connect...","Connect..."},
- {"ConnectDialog.connectButton.toolTip", "Connect to Java Virtual Machine"},
- {"ConnectDialog.accessibleDescription", "Dialog for making a new connection to a local or remote Java Virtual Machine"},
- {"ConnectDialog.masthead.accessibleName", "Masthead Graphic"},
- {"ConnectDialog.masthead.title", "New Connection"},
- {"ConnectDialog.statusBar.accessibleName", "Status Bar"},
- {"ConnectDialog.title", "JConsole: New Connection"},
- {"Connected. Click to disconnect.","Connected. Click to disconnect."},
- {"Connection failed","Connection failed"},
- {"Connection", "Connection"},
- {"Connection.mnemonic", 'C'},
- {"Connection name", "Connection name"},
- {"ConnectionName (disconnected)","{0} (disconnected)"},
- {"Constructor","Constructor"},
- {"Current classes loaded", "Current classes loaded"},
- {"Current heap size","Current heap size"},
- {"Current value","Current value: {0}"},
- {"Create", "Create"},
- {"Daemon threads","Daemon threads"},
- {"Disconnected. Click to connect.","Disconnected. Click to connect."},
- {"Double click to expand/collapse","Double click to expand/collapse"},
- {"Double click to visualize", "Double click to visualize"},
- {"Description", "Description"},
- {"Description: ", "Description: "},
- {"Descriptor", "Descriptor"},
- {"Details", "Details"},
- {"Detect Deadlock", "Detect Deadlock"},
- {"Detect Deadlock.mnemonic", 'D'},
- {"Detect Deadlock.toolTip", "Detect deadlocked threads"},
- {"Dimension is not supported:","Dimension is not supported:"},
- {"Discard chart", "Discard chart"},
- {"DurationDaysHoursMinutes","{0,choice,1#{0,number,integer} day |1.0<{0,number,integer} days }" +
- "{1,choice,0<{1,number,integer} hours |1#{1,number,integer} hour |1<{1,number,integer} hours }" +
- "{2,choice,0<{2,number,integer} minutes|1#{2,number,integer} minute|1.0<{2,number,integer} minutes}"},
-
- {"DurationHoursMinutes","{0,choice,1#{0,number,integer} hour |1<{0,number,integer} hours }" +
- "{1,choice,0<{1,number,integer} minutes|1#{1,number,integer} minute|1.0<{1,number,integer} minutes}"},
-
- {"DurationMinutes","{0,choice,1#{0,number,integer} minute|1.0<{0,number,integer} minutes}"},
- {"DurationSeconds","{0} seconds"},
- {"Empty array", "Empty array"},
- {"Empty opentype viewer", "Empty opentype viewer"},
- {"Error","Error"},
- {"Error: MBeans already exist","Error: MBeans already exist"},
- {"Error: MBeans do not exist","Error: MBeans do not exist"},
- {"Error:","Error:"},
- {"Event","Event"},
- {"Exit", "Exit"},
- {"Exit.mnemonic", 'x'},
- {"Fail to load plugin", "Warning: Fail to load plugin: {0}"},
- {"FileChooser.fileExists.cancelOption", "Cancel"},
- {"FileChooser.fileExists.message", "<html><center>File already exists:<br>{0}<br>Do you want to replace it?"},
- {"FileChooser.fileExists.okOption", "Replace"},
- {"FileChooser.fileExists.title", "File Exists"},
- {"FileChooser.savedFile", "<html>Saved to file:<br>{0}<br>({1} bytes)"},
- {"FileChooser.saveFailed.message", "<html><center>Save to file failed:<br>{0}<br>{1}"},
- {"FileChooser.saveFailed.title", "Save Failed"},
- {"Free physical memory","Free physical memory"},
- {"Free swap space","Free swap space"},
- {"Garbage collector","Garbage collector"},
- {"GTK","GTK"},
- {"GcInfo","Name = ''{0}'', Collections = {1,choice,-1#Unavailable|0#{1,number,integer}}, Total time spent = {2}"},
- {"GC time","GC time"},
- {"GC time details","{0} on {1} ({2} collections)"},
- {"Heap Memory Usage","Heap Memory Usage"},
- {"Heap", "Heap"},
- {"Help.AboutDialog.accessibleDescription", "Dialog containing information about JConsole and JDK versions"},
- {"Help.AboutDialog.jConsoleVersion", "JConsole version:<br>{0}"},
- {"Help.AboutDialog.javaVersion", "Java VM version:<br>{0}"},
- {"Help.AboutDialog.masthead.accessibleName", "Masthead Graphic"},
- {"Help.AboutDialog.masthead.title", "About JConsole"},
- {"Help.AboutDialog.title", "JConsole: About"},
- {"Help.AboutDialog.userGuideLink", "JConsole User Guide:<br>{0}"},
- {"Help.AboutDialog.userGuideLink.mnemonic", 'U'},
- {"Help.AboutDialog.userGuideLink.url", "http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html"},
- {"HelpMenu.About.title", "About JConsole"},
- {"HelpMenu.About.title.mnemonic", 'A'},
- {"HelpMenu.UserGuide.title", "Online User Guide"},
- {"HelpMenu.UserGuide.title.mnemonic", 'U'},
- {"HelpMenu.title", "Help"},
- {"HelpMenu.title.mnemonic", 'H'},
- {"Hotspot MBeans...", "Hotspot MBeans..."},
- {"Hotspot MBeans....mnemonic", 'H'},
- {"Hotspot MBeans.dialog.accessibleDescription", "Dialog for managing Hotspot MBeans"},
- {"Impact","Impact"},
- {"Info","Info"},
- {"INFO","INFO"},
- {"Invalid plugin path", "Warning: Invalid plugin path: {0}"},
- {"Invalid URL", "Invalid URL: {0}"},
- {"Is","Is"},
- {"Java Monitoring & Management Console", "Java Monitoring & Management Console"},
- {"JConsole: ","JConsole: {0}"},
- {"JConsole version","JConsole version \"{0}\""},
- {"JConsole.accessibleDescription", "Java Monitoring & Management Console"},
- {"JIT compiler","JIT compiler"},
- {"Java Virtual Machine","Java Virtual Machine"},
- {"Java","Java"},
- {"Library path","Library path"},
- {"Listeners","Listeners"},
- {"Live Threads","Live threads"},
- {"Loaded", "Loaded"},
- {"Local Process:", "Local Process:"},
- {"Local Process:.mnemonic", 'L'},
- {"Look and Feel","Look and Feel"},
- {"Masthead.font", "Dialog-PLAIN-25"},
- {"Management Not Enabled","<b>Note</b>: The management agent is not enabled on this process."},
- {"Management Will Be Enabled","<b>Note</b>: The management agent will be enabled on this process."},
- {"MBeanAttributeInfo","MBeanAttributeInfo"},
- {"MBeanInfo","MBeanInfo"},
- {"MBeanNotificationInfo","MBeanNotificationInfo"},
- {"MBeanOperationInfo","MBeanOperationInfo"},
- {"MBeans","MBeans"},
- {"MBeansTab.clearNotificationsButton", "Clear"},
- {"MBeansTab.clearNotificationsButton.mnemonic", 'C'},
- {"MBeansTab.clearNotificationsButton.toolTip", "Clear notifications"},
- {"MBeansTab.compositeNavigationMultiple", "Composite Navigation {0}/{1}"},
- {"MBeansTab.compositeNavigationSingle", "Composite Navigation"},
- {"MBeansTab.refreshAttributesButton", "Refresh"},
- {"MBeansTab.refreshAttributesButton.mnemonic", 'R'},
- {"MBeansTab.refreshAttributesButton.toolTip", "Refresh attributes"},
- {"MBeansTab.subscribeNotificationsButton", "Subscribe"},
- {"MBeansTab.subscribeNotificationsButton.mnemonic", 'S'},
- {"MBeansTab.subscribeNotificationsButton.toolTip", "Start listening for notifications"},
- {"MBeansTab.tabularNavigationMultiple", "Tabular Navigation {0}/{1}"},
- {"MBeansTab.tabularNavigationSingle", "Tabular Navigation"},
- {"MBeansTab.unsubscribeNotificationsButton", "Unsubscribe"},
- {"MBeansTab.unsubscribeNotificationsButton.mnemonic", 'U'},
- {"MBeansTab.unsubscribeNotificationsButton.toolTip", "Stop listening for notifications"},
- {"Manage Hotspot MBeans in: ", "Manage Hotspot MBeans in: "},
- {"Max","Max"},
- {"Maximum heap size","Maximum heap size"},
- {"Memory","Memory"},
- {"MemoryPoolLabel", "Memory Pool \"{0}\""},
- {"MemoryTab.heapPlotter.accessibleName", "Memory usage chart for heap."},
- {"MemoryTab.infoLabelFormat", "<html>Used: {0} Committed: {1} Max: {2}</html>"},
- {"MemoryTab.nonHeapPlotter.accessibleName", "Memory usage chart for non heap."},
- {"MemoryTab.poolChart.aboveThreshold", "which is above the threshold of {0}.\n"},
- {"MemoryTab.poolChart.accessibleName", "Memory Pool Usage Chart."},
- {"MemoryTab.poolChart.belowThreshold", "which is below the threshold of {0}.\n"},
- {"MemoryTab.poolPlotter.accessibleName", "Memory usage chart for {0}."},
- {"Message","Message"},
- {"Method successfully invoked", "Method successfully invoked"},
- {"Minimize All", "Minimize All"},
- {"Minimize All.mnemonic", 'M'},
- {"Minus Version", "This is {0} version {1}"},
- {"Monitor locked",
- " - locked {0}\n"},
- {"Motif","Motif"},
- {"Name Build and Mode","{0} (build {1}, {2})"},
- {"Name and Build","{0} (build {1})"},
- {"Name","Name"},
- {"Name: ","Name: "},
- {"Name State",
- "Name: {0}\n" +
- "State: {1}\n"},
- {"Name State LockName",
- "Name: {0}\n" +
- "State: {1} on {2}\n"},
- {"Name State LockName LockOwner",
- "Name: {0}\n" +
- "State: {1} on {2} owned by: {3}\n"},
- {"New Connection...", "New Connection..."},
- {"New Connection....mnemonic", 'N'},
- {"New value applied","New value applied"},
- {"No attribute selected","No attribute selected"},
- {"No deadlock detected","No deadlock detected"},
- {"No value selected","No value selected"},
- {"Non-Heap Memory Usage","Non-Heap Memory Usage"},
- {"Non-Heap", "Non-Heap"},
- {"Not Yet Implemented","Not Yet Implemented"},
- {"Not a valid event broadcaster", "Not a valid event broadcaster"},
- {"Notification","Notification"},
- {"Notification buffer","Notification buffer"},
- {"Notifications","Notifications"},
- {"NotifTypes", "NotifTypes"},
- {"Number of Threads","Number of Threads"},
- {"Number of Loaded Classes","Number of Loaded Classes"},
- {"Number of processors","Number of processors"},
- {"ObjectName","ObjectName"},
- {"Operating System","Operating System"},
- {"Operation","Operation"},
- {"Operation invocation","Operation invocation"},
- {"Operation return value", "Operation return value"},
- {"Operations","Operations"},
- {"Overview","Overview"},
- {"OverviewPanel.plotter.accessibleName", "Chart for {0}."},
- {"Parameter", "Parameter"},
- {"Password: ", "Password: "},
- {"Password: .mnemonic", 'P'},
- {"Password.accessibleName", "Password"},
- {"Peak","Peak"},
- {"Perform GC", "Perform GC"},
- {"Perform GC.mnemonic", 'G'},
- {"Perform GC.toolTip", "Request Garbage Collection"},
- {"Plotter.accessibleName", "Chart"},
- {"Plotter.accessibleName.keyAndValue", "{0}={1}\n"},
- {"Plotter.accessibleName.noData", "No data plotted."},
- {"Plotter.saveAsMenuItem", "Save data as..."},
- {"Plotter.saveAsMenuItem.mnemonic", 'a'},
- {"Plotter.timeRangeMenu", "Time Range"},
- {"Plotter.timeRangeMenu.mnemonic", 'T'},
- {"Problem adding listener","Problem adding listener"},
- {"Problem displaying MBean", "Problem displaying MBean"},
- {"Problem invoking", "Problem invoking"},
- {"Problem removing listener","Problem removing listener"},
- {"Problem setting attribute","Problem setting attribute"},
- {"Process CPU time","Process CPU time"},
- {"R/W","R/W"},
- {"Readable","Readable"},
- {"Received","Received"},
- {"Reconnect","Reconnect"},
- {"Remote Process:", "Remote Process:"},
- {"Remote Process:.mnemonic", 'R'},
- {"Remote Process.textField.accessibleName", "Remote Process"},
- {"Remove","Remove"},
- {"Restore All", "Restore All"},
- {"Restore All.mnemonic", 'R'},
- {"Return value", "Return value"},
- {"ReturnType", "ReturnType"},
- {"SeqNum","SeqNum"},
- {"Size Bytes", "{0,number,integer} bytes"},
- {"Size Gb","{0} Gb"},
- {"Size Kb","{0} Kb"},
- {"Size Mb","{0} Mb"},
- {"Source","Source"},
- {"Stack trace",
- "\nStack trace: \n"},
- {"Success:","Success:"},
- // Note: SummaryTab.headerDateTimeFormat can be one the following:
- // 1. A combination of two styles for date and time, using the
- // constants from class DateFormat: SHORT, MEDIUM, LONG, FULL.
- // Example: "MEDIUM,MEDIUM" or "FULL,SHORT"
- // 2. An explicit string pattern used for creating an instance
- // of the class SimpleDateFormat.
- // Example: "yyyy-MM-dd HH:mm:ss" or "M/d/yyyy h:mm:ss a"
- {"SummaryTab.headerDateTimeFormat", "FULL,FULL"},
- {"SummaryTab.pendingFinalization.label", "Pending finalization"},
- {"SummaryTab.pendingFinalization.value", "{0} objects"},
- {"SummaryTab.tabName", "VM Summary"},
- {"SummaryTab.vmVersion","{0} version {1}"},
- {"TabularData are not supported", "TabularData are not supported"},
- {"Threads","Threads"},
- {"ThreadTab.infoLabelFormat", "<html>Live: {0} Peak: {1} Total: {2}</html>"},
- {"ThreadTab.threadInfo.accessibleName", "Thread Information"},
- {"ThreadTab.threadPlotter.accessibleName", "Chart for number of threads."},
- {"Threshold","Threshold"},
- {"Tile", "Tile"},
- {"Tile.mnemonic", 'T'},
- {"Time Range:", "Time Range:"},
- {"Time Range:.mnemonic", 'T'},
- {"Time", "Time"},
- {"TimeStamp","TimeStamp"},
- {"Total Loaded", "Total Loaded"},
- {"Total classes loaded","Total classes loaded"},
- {"Total classes unloaded","Total classes unloaded"},
- {"Total compile time","Total compile time"},
- {"Total physical memory","Total physical memory"},
- {"Total threads started","Total threads started"},
- {"Total swap space","Total swap space"},
- {"Type","Type"},
- {"Unavailable","Unavailable"},
- {"UNKNOWN","UNKNOWN"},
- {"Unknown Host","Unknown Host: {0}"},
- {"Unregister", "Unregister"},
- {"Uptime","Uptime"},
- {"Uptime: ","Uptime: "},
- {"Usage Threshold","Usage Threshold"},
- {"remoteTF.usage","<b>Usage</b>: <hostname>:<port> OR service:jmx:<protocol>:<sap>"},
- {"Used","Used"},
- {"Username: ", "Username: "},
- {"Username: .mnemonic", 'U'},
- {"Username.accessibleName", "User Name"},
- {"UserData","UserData"},
- {"Virtual Machine","Virtual Machine"},
- {"VM arguments","VM arguments"},
- {"VM","VM"},
- {"VMInternalFrame.accessibleDescription", "Internal frame for monitoring a Java Virtual Machine"},
- {"Value","Value"},
- {"Vendor", "Vendor"},
- {"Verbose Output","Verbose Output"},
- {"Verbose Output.toolTip", "Enable verbose output for class loading system"},
- {"View value", "View value"},
- {"View","View"},
- {"Window", "Window"},
- {"Window.mnemonic", 'W'},
- {"Windows","Windows"},
- {"Writable","Writable"},
- {"You cannot drop a class here", "You cannot drop a class here"},
- {"collapse", "collapse"},
- {"connectionFailed1","Connection Failed: Retry?"},
- {"connectionFailed2","The connection to {0} did not succeed.<br>" +
- "Would you like to try again?"},
- {"connectionLost1","Connection Lost: Reconnect?"},
- {"connectionLost2","The connection to {0} has been lost " +
- "because the remote process has been terminated.<br>" +
- "Would you like to reconnect?"},
- {"connectingTo1","Connecting to {0}"},
- {"connectingTo2","You are currently being connected to {0}.<br>" +
- "This will take a few moments."},
- {"deadlockAllTab","All"},
- {"deadlockTab","Deadlock"},
- {"deadlockTabN","Deadlock {0}"},
- {"expand", "expand"},
- {"kbytes","{0} kbytes"},
- {"operation","operation"},
- {"plot", "plot"},
- {"visualize","visualize"},
- {"zz usage text",
- "Usage: {0} [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ... ]\n\n" +
- " -interval Set the update interval to n seconds (default is 4 seconds)\n" +
- " -notile Do not tile windows initially (for two or more connections)\n" +
- " -pluginpath Specify the path that jconsole uses to look up the plugins\n" +
- " -version Print program version\n\n" +
- " connection = pid || host:port || JMX URL (service:jmx:<protocol>://...)\n" +
- " pid The process id of a target process\n" +
- " host A remote host name or IP address\n" +
- " port The port number for the remote connection\n\n" +
- " -J Specify the input arguments to the Java virtual machine\n" +
- " on which jconsole is running"},
- // END OF MATERIAL TO LOCALIZE
- };
-
- String ls = System.getProperty("line.separator");
- for(int i=0;i<temp.length;i++) {
- if (temp[i][1] instanceof String){
- temp[i][1] = temp[i][1].toString().replaceAll("\n",ls);
- }
- }
-
- return temp;
-
- }
-
- public synchronized Object[][] getContents() {
- return getContents0();
- }
-}
--- a/jdk/src/share/classes/sun/tools/jconsole/resources/JConsoleResources_ja.java Fri May 25 14:32:07 2012 +0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,442 +0,0 @@
-/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.tools.jconsole.resources;
-
-import java.util.*;
-
-import static java.awt.event.KeyEvent.*;
-
-/**
- * <p> This class represents the <code>ResourceBundle</code>
- * for the following package(s):
- *
- * <ol>
- * <li> sun.tools.jconsole
- * </ol>
- *
- * <P>
- * Subclasses must override <code>getContents0</code> and provide an array,
- * where each item in the array consists of a <code>String</code> key,
- * and either a <code>String</code> value associated with that key,
- * or if the keys ends with ".mnemonic", an element
- * representing a mnemomic keycode <code>int</code> or <code>char</code>.
- */
-public class JConsoleResources_ja extends JConsoleResources {
-
- /**
- * Returns the contents of this <code>ResourceBundle</code>.
- *
- * <p>
- *
- * @return the contents of this <code>ResourceBundle</code>.
- */
- protected Object[][] getContents0() {
- Object[][] temp = new Object[][] {
- // NOTE 1: The value strings in this file containing "{0}" are
- // processed by the java.text.MessageFormat class. Any
- // single quotes appearing in these strings need to be
- // doubled up.
- //
- // NOTE 2: To make working with this file a bit easier, please
- // maintain these messages in ASCII sorted order by
- // message key.
- //
- // LOCALIZE THIS
- {" 1 day"," 1\u65E5"},
- {" 1 hour"," 1\u6642\u9593"},
- {" 1 min"," 1\u5206"},
- {" 1 month"," 1\u304B\u6708"},
- {" 1 year"," 1\u5E74"},
- {" 2 hours"," 2\u6642\u9593"},
- {" 3 hours"," 3\u6642\u9593"},
- {" 3 months"," 3\u304B\u6708"},
- {" 5 min"," 5\u5206"},
- {" 6 hours"," 6\u6642\u9593"},
- {" 6 months"," 6\u304B\u6708"},
- {" 7 days"," 7\u65E5"},
- {"10 min","10\u5206"},
- {"12 hours","12\u6642\u9593"},
- {"30 min","30\u5206"},
- {"<","<"},
- {"<<","<<"},
- {">",">"},
- {"ACTION","ACTION"},
- {"ACTION_INFO","ACTION_INFO"},
- {"All","\u3059\u3079\u3066"},
- {"Apply","\u9069\u7528"},
- {"Architecture","\u30A2\u30FC\u30AD\u30C6\u30AF\u30C1\u30E3"},
- {"Array, OpenType", "\u914D\u5217\u3001OpenType"},
- {"Array, OpenType, Numeric value viewer","\u914D\u5217\u3001OpenType\u3001\u6570\u5024\u30D3\u30E5\u30FC\u30A2"},
- {"Attribute","\u5C5E\u6027"},
- {"Attribute value","\u5C5E\u6027\u5024"},
- {"Attribute values","\u5C5E\u6027\u5024"},
- {"Attributes","\u5C5E\u6027"},
- {"Blank", "\u30D6\u30E9\u30F3\u30AF"},
- {"BlockedCount WaitedCount",
- "\u30D6\u30ED\u30C3\u30AF\u6E08\u5408\u8A08: {0} \u5F85\u6A5F\u6E08\u5408\u8A08: {1}\n"},
- {"Boot class path","\u30D6\u30FC\u30C8\u30FB\u30AF\u30E9\u30B9\u30D1\u30B9"},
- {"BorderedComponent.moreOrLessButton.toolTip", "\u8868\u793A\u3059\u308B\u60C5\u5831\u91CF\u3092\u5897\u6E1B\u3059\u308B\u30C8\u30B0\u30EB"},
- {"CPU Usage","CPU\u4F7F\u7528\u7387"},
- {"CPUUsageFormat","CPU\u4F7F\u7528\u7387: {0}%"},
- {"Cancel","\u53D6\u6D88"},
- {"Cascade", "\u91CD\u306D\u3066\u8868\u793A(C)"},
- {"Cascade.mnemonic", 'C'},
- {"Chart:", "\u30C1\u30E3\u30FC\u30C8(C):"},
- {"Chart:.mnemonic", 'C'},
- {"Class path","\u30AF\u30E9\u30B9\u30D1\u30B9"},
- {"Class","\u30AF\u30E9\u30B9"},
- {"ClassName","ClassName"},
- {"ClassTab.infoLabelFormat", "<html>\u30ED\u30FC\u30C9\u6E08: {0} \u672A\u30ED\u30FC\u30C9: {1} \u5408\u8A08: {2}</html>"},
- {"ClassTab.loadedClassesPlotter.accessibleName", "\u30ED\u30FC\u30C9\u6E08\u30AF\u30E9\u30B9\u306E\u30C1\u30E3\u30FC\u30C8\u3002"},
- {"Classes","\u30AF\u30E9\u30B9"},
- {"Close","\u9589\u3058\u308B"},
- {"Column.Name", "\u540D\u524D"},
- {"Column.PID", "PID"},
- {"Committed memory","\u30B3\u30DF\u30C3\u30C8\u6E08\u30E1\u30E2\u30EA\u30FC"},
- {"Committed virtual memory","\u30B3\u30DF\u30C3\u30C8\u6E08\u4EEE\u60F3\u30E1\u30E2\u30EA\u30FC"},
- {"Committed", "\u30B3\u30DF\u30C3\u30C8\u6E08"},
- {"Compiler","\u30B3\u30F3\u30D1\u30A4\u30E9"},
- {"CompositeData","CompositeData"},
- {"Config","\u69CB\u6210"},
- {"Connect", "\u63A5\u7D9A(C)"},
- {"Connect.mnemonic", 'C'},
- {"Connect...","\u63A5\u7D9A..."},
- {"ConnectDialog.connectButton.toolTip", "Java\u4EEE\u60F3\u30DE\u30B7\u30F3\u306B\u63A5\u7D9A"},
- {"ConnectDialog.accessibleDescription", "\u30ED\u30FC\u30AB\u30EB\u307E\u305F\u306F\u30EA\u30E2\u30FC\u30C8\u306EJava\u4EEE\u60F3\u30DE\u30B7\u30F3\u3078\u306E\u65B0\u898F\u63A5\u7D9A\u3092\u884C\u3046\u30C0\u30A4\u30A2\u30ED\u30B0"},
- {"ConnectDialog.masthead.accessibleName", "\u30DE\u30B9\u30C8\u30D8\u30C3\u30C9\u56F3\u5F62"},
- {"ConnectDialog.masthead.title", "\u65B0\u898F\u63A5\u7D9A"},
- {"ConnectDialog.statusBar.accessibleName", "\u30B9\u30C6\u30FC\u30BF\u30B9\u30FB\u30D0\u30FC"},
- {"ConnectDialog.title", "JConsole: \u65B0\u898F\u63A5\u7D9A"},
- {"Connected. Click to disconnect.","\u63A5\u7D9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068\u5207\u65AD\u3057\u307E\u3059\u3002"},
- {"Connection failed","\u63A5\u7D9A\u306B\u5931\u6557\u3057\u307E\u3057\u305F"},
- {"Connection", "\u63A5\u7D9A(C)"},
- {"Connection.mnemonic", 'C'},
- {"Connection name", "\u63A5\u7D9A\u540D"},
- {"ConnectionName (disconnected)","{0} (\u5207\u65AD\u6E08)"},
- {"Constructor","\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF"},
- {"Current classes loaded", "\u30ED\u30FC\u30C9\u6E08\u306E\u73FE\u5728\u306E\u30AF\u30E9\u30B9"},
- {"Current heap size","\u73FE\u5728\u306E\u30D2\u30FC\u30D7\u30FB\u30B5\u30A4\u30BA"},
- {"Current value","\u73FE\u5728\u5024: {0}"},
- {"Create", "\u4F5C\u6210"},
- {"Daemon threads","\u30C7\u30FC\u30E2\u30F3\u30FB\u30B9\u30EC\u30C3\u30C9"},
- {"Disconnected. Click to connect.","\u5207\u65AD\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068\u63A5\u7D9A\u3057\u307E\u3059\u3002"},
- {"Double click to expand/collapse","\u5C55\u958B\u307E\u305F\u306F\u7E2E\u5C0F\u3059\u308B\u306B\u306F\u30C0\u30D6\u30EB\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044"},
- {"Double click to visualize", "\u8996\u899A\u5316\u3059\u308B\u306B\u306F\u30C0\u30D6\u30EB\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044"},
- {"Description", "\u8AAC\u660E"},
- {"Description: ", "\u8AAC\u660E: "},
- {"Descriptor", "\u8A18\u8FF0\u5B50"},
- {"Details", "\u8A73\u7D30"},
- {"Detect Deadlock", "\u30C7\u30C3\u30C9\u30ED\u30C3\u30AF\u306E\u691C\u51FA(D)"},
- {"Detect Deadlock.mnemonic", 'D'},
- {"Detect Deadlock.toolTip", "\u30C7\u30C3\u30C9\u30ED\u30C3\u30AF\u6E08\u30B9\u30EC\u30C3\u30C9\u306E\u691C\u51FA"},
- {"Dimension is not supported:","\u6B21\u5143\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093:"},
- {"Discard chart", "\u30C1\u30E3\u30FC\u30C8\u306E\u7834\u68C4"},
- {"DurationDaysHoursMinutes","{0,choice,1#{0,number,integer}\u65E5|1.0<{0,number,integer}\u65E5}{1,choice,0<{1,number,integer}\u6642\u9593|1#{1,number,integer}\u6642\u9593|1<{1,number,integer}\u6642\u9593}{2,choice,0<{2,number,integer}\u5206|1#{2,number,integer}\u5206|1.0<{2,number,integer}\u5206}"},
-
- {"DurationHoursMinutes","{0,choice,1#{0,number,integer}\u6642\u9593|1<{0,number,integer}\u6642\u9593}{1,choice,0<{1,number,integer}\u5206|1#{1,number,integer}\u5206|1.0<{1,number,integer}\u5206}"},
-
- {"DurationMinutes","{0,choice,1#{0,number,integer}\u5206|1.0<{0,number,integer}\u5206}"},
- {"DurationSeconds","{0}\u79D2"},
- {"Empty array", "\u7A7A\u306E\u914D\u5217"},
- {"Empty opentype viewer", "\u7A7A\u306Eopentype\u30D3\u30E5\u30FC\u30A2"},
- {"Error","\u30A8\u30E9\u30FC"},
- {"Error: MBeans already exist","\u30A8\u30E9\u30FC: MBeans\u306F\u3059\u3067\u306B\u5B58\u5728\u3057\u307E\u3059"},
- {"Error: MBeans do not exist","\u30A8\u30E9\u30FC: MBeans\u306F\u5B58\u5728\u3057\u307E\u305B\u3093"},
- {"Error:","\u30A8\u30E9\u30FC:"},
- {"Event","\u30A4\u30D9\u30F3\u30C8"},
- {"Exit", "\u7D42\u4E86(X)"},
- {"Exit.mnemonic", 'X'},
- {"Fail to load plugin", "\u8B66\u544A: \u30D7\u30E9\u30B0\u30A4\u30F3\u306E\u30ED\u30FC\u30C9\u306B\u5931\u6557\u3057\u307E\u3057\u305F: {0}"},
- {"FileChooser.fileExists.cancelOption", "\u53D6\u6D88"},
- {"FileChooser.fileExists.message", "<html><center>\u30D5\u30A1\u30A4\u30EB\u306F\u3059\u3067\u306B\u5B58\u5728\u3057\u3066\u3044\u307E\u3059:<br>{0}<br>\u7F6E\u63DB\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\u3002"},
- {"FileChooser.fileExists.okOption", "\u7F6E\u63DB"},
- {"FileChooser.fileExists.title", "\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u3066\u3044\u307E\u3059"},
- {"FileChooser.savedFile", "<html>\u30D5\u30A1\u30A4\u30EB\u306B\u4FDD\u5B58\u3057\u307E\u3057\u305F:<br>{0}<br>({1}\u30D0\u30A4\u30C8)"},
- {"FileChooser.saveFailed.message", "<html><center>\u30D5\u30A1\u30A4\u30EB\u3078\u306E\u4FDD\u5B58\u306B\u5931\u6557\u3057\u307E\u3057\u305F:<br>{0}<br>{1}"},
- {"FileChooser.saveFailed.title", "\u4FDD\u5B58\u306B\u5931\u6557\u3057\u307E\u3057\u305F"},
- {"Free physical memory","\u7A7A\u304D\u7269\u7406\u30E1\u30E2\u30EA\u30FC"},
- {"Free swap space","\u7A7A\u304D\u30B9\u30EF\u30C3\u30D7\u30FB\u30B9\u30DA\u30FC\u30B9"},
- {"Garbage collector","\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30BF"},
- {"GTK","GTK"},
- {"GcInfo","\u540D\u524D= ''{0}''\u3001\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3= {1,choice,-1#\u3042\u308A\u307E\u305B\u3093|0#{1,number,integer}\u500B}\u3001\u5408\u8A08\u6D88\u8CBB\u6642\u9593= {2}"},
- {"GC time","GC\u6642\u9593"},
- {"GC time details","{1}\u3067{0} ({2}\u500B\u306E\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3)"},
- {"Heap Memory Usage","\u30D2\u30FC\u30D7\u30FB\u30E1\u30E2\u30EA\u30FC\u4F7F\u7528\u7387"},
- {"Heap", "\u30D2\u30FC\u30D7"},
- {"Help.AboutDialog.accessibleDescription", "JConsole\u3068JDK\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u3064\u3044\u3066\u306E\u60C5\u5831\u3092\u542B\u3080\u30C0\u30A4\u30A2\u30ED\u30B0"},
- {"Help.AboutDialog.jConsoleVersion", "JConsole\u30D0\u30FC\u30B8\u30E7\u30F3:<br>{0}"},
- {"Help.AboutDialog.javaVersion", "Java VM\u30D0\u30FC\u30B8\u30E7\u30F3:<br>{0}"},
- {"Help.AboutDialog.masthead.accessibleName", "\u30DE\u30B9\u30C8\u30D8\u30C3\u30C9\u56F3\u5F62"},
- {"Help.AboutDialog.masthead.title", "JConsole\u306B\u3064\u3044\u3066"},
- {"Help.AboutDialog.title", "JConsole: \u8A73\u7D30"},
- {"Help.AboutDialog.userGuideLink", "JConsole\u30E6\u30FC\u30B6\u30FC\u30FB\u30AC\u30A4\u30C9(U):<br>{0}"},
- {"Help.AboutDialog.userGuideLink.mnemonic", 'U'},
- {"Help.AboutDialog.userGuideLink.url", "http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html"},
- {"HelpMenu.About.title", "JConsole\u306B\u3064\u3044\u3066(A)"},
- {"HelpMenu.About.title.mnemonic", 'A'},
- {"HelpMenu.UserGuide.title", "\u30AA\u30F3\u30E9\u30A4\u30F3\u30FB\u30E6\u30FC\u30B6\u30FC\u30FB\u30AC\u30A4\u30C9"},
- {"HelpMenu.UserGuide.title.mnemonic", 'U'},
- {"HelpMenu.title", "\u30D8\u30EB\u30D7(H)"},
- {"HelpMenu.title.mnemonic", 'H'},
- {"Hotspot MBeans...", "Hotspot MBeans(H)..."},
- {"Hotspot MBeans....mnemonic", 'H'},
- {"Hotspot MBeans.dialog.accessibleDescription", "Hotspot MBeans\u306E\u7BA1\u7406\u7528\u30C0\u30A4\u30A2\u30ED\u30B0"},
- {"Impact","\u5F71\u97FF"},
- {"Info","\u60C5\u5831"},
- {"INFO","\u60C5\u5831"},
- {"Invalid plugin path", "\u8B66\u544A: \u7121\u52B9\u306A\u30D7\u30E9\u30B0\u30A4\u30F3\u30FB\u30D1\u30B9: {0}"},
- {"Invalid URL", "\u7121\u52B9\u306AURL: {0}"},
- {"Is","\u6B21\u306B\u4E00\u81F4\u3059\u308B"},
- {"Java Monitoring & Management Console", "Java Monitoring & Management Console"},
- {"JConsole: ","JConsole: {0}"},
- {"JConsole version","JConsole\u30D0\u30FC\u30B8\u30E7\u30F3\"{0}\""},
- {"JConsole.accessibleDescription", "Java Monitoring & Management Console"},
- {"JIT compiler","JIT\u30B3\u30F3\u30D1\u30A4\u30E9"},
- {"Java Virtual Machine","Java\u4EEE\u60F3\u30DE\u30B7\u30F3"},
- {"Java","Java"},
- {"Library path","\u30E9\u30A4\u30D6\u30E9\u30EA\u30FB\u30D1\u30B9"},
- {"Listeners","\u30EA\u30B9\u30CA\u30FC"},
- {"Live Threads","\u5B9F\u884C\u4E2D\u306E\u30B9\u30EC\u30C3\u30C9"},
- {"Loaded", "\u30ED\u30FC\u30C9\u6E08"},
- {"Local Process:", "\u30ED\u30FC\u30AB\u30EB\u30FB\u30D7\u30ED\u30BB\u30B9(L):"},
- {"Local Process:.mnemonic", 'L'},
- {"Look and Feel","Look&Feel"},
- {"Masthead.font", "Dialog-PLAIN-25"},
- {"Management Not Enabled","<b>\u6CE8\u610F</b>: \u7BA1\u7406\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u306F\u3053\u306E\u30D7\u30ED\u30BB\u30B9\u3067\u306F\u6709\u52B9\u5316\u3055\u308C\u307E\u305B\u3093\u3002"},
- {"Management Will Be Enabled","<b>\u6CE8\u610F</b>: \u7BA1\u7406\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u306F\u3053\u306E\u30D7\u30ED\u30BB\u30B9\u3067\u6709\u52B9\u5316\u3055\u308C\u307E\u3059\u3002"},
- {"MBeanAttributeInfo","MBeanAttributeInfo"},
- {"MBeanInfo","MBeanInfo"},
- {"MBeanNotificationInfo","MBeanNotificationInfo"},
- {"MBeanOperationInfo","MBeanOperationInfo"},
- {"MBeans","MBeans"},
- {"MBeansTab.clearNotificationsButton", "\u30AF\u30EA\u30A2(C)"},
- {"MBeansTab.clearNotificationsButton.mnemonic", 'C'},
- {"MBeansTab.clearNotificationsButton.toolTip", "\u901A\u77E5\u306E\u30AF\u30EA\u30A2"},
- {"MBeansTab.compositeNavigationMultiple", "\u30B3\u30F3\u30DD\u30B8\u30C3\u30C8\u30FB\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3{0}/{1}"},
- {"MBeansTab.compositeNavigationSingle", "\u30B3\u30F3\u30DD\u30B8\u30C3\u30C8\u30FB\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3"},
- {"MBeansTab.refreshAttributesButton", "\u30EA\u30D5\u30EC\u30C3\u30B7\u30E5(R)"},
- {"MBeansTab.refreshAttributesButton.mnemonic", 'R'},
- {"MBeansTab.refreshAttributesButton.toolTip", "\u5C5E\u6027\u306E\u30EA\u30D5\u30EC\u30C3\u30B7\u30E5"},
- {"MBeansTab.subscribeNotificationsButton", "\u30B5\u30D6\u30B9\u30AF\u30E9\u30A4\u30D6(S)"},
- {"MBeansTab.subscribeNotificationsButton.mnemonic", 'S'},
- {"MBeansTab.subscribeNotificationsButton.toolTip", "\u901A\u77E5\u30EA\u30B9\u30CB\u30F3\u30B0\u306E\u958B\u59CB"},
- {"MBeansTab.tabularNavigationMultiple", "\u30BF\u30D6\u30FB\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3{0}/{1}"},
- {"MBeansTab.tabularNavigationSingle", "\u30BF\u30D6\u30FB\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3"},
- {"MBeansTab.unsubscribeNotificationsButton", "\u30B5\u30D6\u30B9\u30AF\u30E9\u30A4\u30D6\u89E3\u9664(U)"},
- {"MBeansTab.unsubscribeNotificationsButton.mnemonic", 'U'},
- {"MBeansTab.unsubscribeNotificationsButton.toolTip", "\u901A\u77E5\u30EA\u30B9\u30CB\u30F3\u30B0\u306E\u505C\u6B62"},
- {"Manage Hotspot MBeans in: ", "Hotspot MBeans\u306E\u7BA1\u7406: "},
- {"Max","\u6700\u5927"},
- {"Maximum heap size","\u6700\u5927\u30D2\u30FC\u30D7\u30FB\u30B5\u30A4\u30BA"},
- {"Memory","\u30E1\u30E2\u30EA\u30FC"},
- {"MemoryPoolLabel", "\u30E1\u30E2\u30EA\u30FC\u30FB\u30D7\u30FC\u30EB\"{0}\""},
- {"MemoryTab.heapPlotter.accessibleName", "\u30D2\u30FC\u30D7\u7528\u306E\u30E1\u30E2\u30EA\u30FC\u4F7F\u7528\u7387\u30C1\u30E3\u30FC\u30C8\u3002"},
- {"MemoryTab.infoLabelFormat", "<html>\u4F7F\u7528\u6E08: {0} \u30B3\u30DF\u30C3\u30C8\u6E08: {1} \u6700\u5927: {2}</html>"},
- {"MemoryTab.nonHeapPlotter.accessibleName", "\u975E\u30D2\u30FC\u30D7\u7528\u306E\u30E1\u30E2\u30EA\u30FC\u4F7F\u7528\u7387\u30C1\u30E3\u30FC\u30C8\u3002"},
- {"MemoryTab.poolChart.aboveThreshold", "{0}\u306E\u3057\u304D\u3044\u5024\u3088\u308A\u4E0A\u3067\u3059\u3002\n"},
- {"MemoryTab.poolChart.accessibleName", "\u30E1\u30E2\u30EA\u30FC\u30FB\u30D7\u30FC\u30EB\u4F7F\u7528\u7387\u30C1\u30E3\u30FC\u30C8\u3002"},
- {"MemoryTab.poolChart.belowThreshold", "{0}\u306E\u3057\u304D\u3044\u5024\u3088\u308A\u4E0B\u3067\u3059\u3002\n"},
- {"MemoryTab.poolPlotter.accessibleName", "{0}\u306E\u30E1\u30E2\u30EA\u30FC\u4F7F\u7528\u7387\u30C1\u30E3\u30FC\u30C8\u3002"},
- {"Message","\u30E1\u30C3\u30BB\u30FC\u30B8"},
- {"Method successfully invoked", "\u30E1\u30BD\u30C3\u30C9\u304C\u6B63\u5E38\u306B\u8D77\u52D5\u3055\u308C\u307E\u3057\u305F"},
- {"Minimize All", "\u3059\u3079\u3066\u6700\u5C0F\u5316(M)"},
- {"Minimize All.mnemonic", 'M'},
- {"Minus Version", "\u3053\u308C\u306F{0}\u306E\u30D0\u30FC\u30B8\u30E7\u30F3{1}\u3067\u3059"},
- {"Monitor locked",
- " - \u30ED\u30C3\u30AF\u6E08{0}\n"},
- {"Motif","Motif"},
- {"Name Build and Mode","{0} (\u30D3\u30EB\u30C9{1}, {2})"},
- {"Name and Build","{0} (\u30D3\u30EB\u30C9{1})"},
- {"Name","\u540D\u524D"},
- {"Name: ","\u540D\u524D: "},
- {"Name State",
- "\u540D\u524D: {0}\n\u72B6\u614B: {1}\n"},
- {"Name State LockName",
- "\u540D\u524D: {0}\n\u72B6\u614B: {2}\u306E{1}\n"},
- {"Name State LockName LockOwner",
- "\u540D\u524D: {0}\n\u72B6\u614B: {2}\u306E{1}\u3001\u6240\u6709\u8005: {3}\n"},
- {"New Connection...", "\u65B0\u898F\u63A5\u7D9A(N)..."},
- {"New Connection....mnemonic", 'N'},
- {"New value applied","\u9069\u7528\u3055\u308C\u305F\u65B0\u898F\u5024"},
- {"No attribute selected","\u5C5E\u6027\u304C\u9078\u629E\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F"},
- {"No deadlock detected","\u30C7\u30C3\u30C9\u30ED\u30C3\u30AF\u304C\u691C\u51FA\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F"},
- {"No value selected","\u5024\u304C\u9078\u629E\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F"},
- {"Non-Heap Memory Usage","\u975E\u30D2\u30FC\u30D7\u30FB\u30E1\u30E2\u30EA\u30FC\u4F7F\u7528\u7387"},
- {"Non-Heap", "\u975E\u30D2\u30FC\u30D7"},
- {"Not Yet Implemented","\u307E\u3060\u5B9F\u88C5\u3055\u308C\u3066\u3044\u307E\u305B\u3093"},
- {"Not a valid event broadcaster", "\u6709\u52B9\u306A\u30A4\u30D9\u30F3\u30C8\u30FB\u30D6\u30ED\u30FC\u30C9\u30AD\u30E3\u30B9\u30BF\u3067\u306F\u3042\u308A\u307E\u305B\u3093"},
- {"Notification","\u901A\u77E5"},
- {"Notification buffer","\u901A\u77E5\u30D0\u30C3\u30D5\u30A1"},
- {"Notifications","\u901A\u77E5"},
- {"NotifTypes", "NotifTypes"},
- {"Number of Threads","\u30B9\u30EC\u30C3\u30C9\u6570"},
- {"Number of Loaded Classes","\u30ED\u30FC\u30C9\u6E08\u30AF\u30E9\u30B9\u6570"},
- {"Number of processors","\u30D7\u30ED\u30BB\u30C3\u30B5\u6570"},
- {"ObjectName","ObjectName"},
- {"Operating System","\u30AA\u30DA\u30EC\u30FC\u30C6\u30A3\u30F3\u30B0\u30FB\u30B7\u30B9\u30C6\u30E0"},
- {"Operation","\u64CD\u4F5C"},
- {"Operation invocation","\u64CD\u4F5C\u306E\u547C\u51FA\u3057"},
- {"Operation return value", "\u64CD\u4F5C\u306E\u623B\u308A\u5024"},
- {"Operations","\u64CD\u4F5C"},
- {"Overview","\u6982\u8981"},
- {"OverviewPanel.plotter.accessibleName", "{0}\u306E\u30C1\u30E3\u30FC\u30C8\u3002"},
- {"Parameter", "\u30D1\u30E9\u30E1\u30FC\u30BF"},
- {"Password: ", "\u30D1\u30B9\u30EF\u30FC\u30C9(P): "},
- {"Password: .mnemonic", 'P'},
- {"Password.accessibleName", "\u30D1\u30B9\u30EF\u30FC\u30C9"},
- {"Peak","\u30D4\u30FC\u30AF"},
- {"Perform GC", "GC\u306E\u5B9F\u884C"},
- {"Perform GC.mnemonic", 'G'},
- {"Perform GC.toolTip", "\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u306E\u30EA\u30AF\u30A8\u30B9\u30C8"},
- {"Plotter.accessibleName", "\u30C1\u30E3\u30FC\u30C8"},
- {"Plotter.accessibleName.keyAndValue", "{0}={1}\n"},
- {"Plotter.accessibleName.noData", "\u30C7\u30FC\u30BF\u304C\u30D7\u30ED\u30C3\u30C8\u3055\u308C\u307E\u305B\u3093\u3002"},
- {"Plotter.saveAsMenuItem", "\u540D\u524D\u3092\u4ED8\u3051\u3066\u30C7\u30FC\u30BF\u3092\u4FDD\u5B58(A)..."},
- {"Plotter.saveAsMenuItem.mnemonic", 'A'},
- {"Plotter.timeRangeMenu", "\u6642\u9593\u7BC4\u56F2(T)"},
- {"Plotter.timeRangeMenu.mnemonic", 'T'},
- {"Problem adding listener","\u30EA\u30B9\u30CA\u30FC\u8FFD\u52A0\u4E2D\u306E\u554F\u984C"},
- {"Problem displaying MBean", "MBean\u8868\u793A\u4E2D\u306E\u554F\u984C"},
- {"Problem invoking", "\u547C\u51FA\u3057\u4E2D\u306E\u554F\u984C"},
- {"Problem removing listener","\u30EA\u30B9\u30CA\u30FC\u524A\u9664\u4E2D\u306E\u554F\u984C"},
- {"Problem setting attribute","\u5C5E\u6027\u8A2D\u5B9A\u4E2D\u306E\u554F\u984C"},
- {"Process CPU time","\u30D7\u30ED\u30BB\u30B9CPU\u6642\u9593"},
- {"R/W","R/W"},
- {"Readable","\u8AAD\u53D6\u308A\u53EF\u80FD"},
- {"Received","\u53D7\u4FE1\u6E08"},
- {"Reconnect","\u518D\u63A5\u7D9A"},
- {"Remote Process:", "\u30EA\u30E2\u30FC\u30C8\u30FB\u30D7\u30ED\u30BB\u30B9(R):"},
- {"Remote Process:.mnemonic", 'R'},
- {"Remote Process.textField.accessibleName", "\u30EA\u30E2\u30FC\u30C8\u30FB\u30D7\u30ED\u30BB\u30B9"},
- {"Remove","\u524A\u9664"},
- {"Restore All", "\u3059\u3079\u3066\u5FA9\u5143(R)"},
- {"Restore All.mnemonic", 'R'},
- {"Return value", "\u623B\u308A\u5024"},
- {"ReturnType", "ReturnType"},
- {"SeqNum","SeqNum"},
- {"Size Bytes", "{0,number,integer}\u30D0\u30A4\u30C8"},
- {"Size Gb","{0} Gb"},
- {"Size Kb","{0} Kb"},
- {"Size Mb","{0} Mb"},
- {"Source","\u30BD\u30FC\u30B9"},
- {"Stack trace",
- "\n\u30B9\u30BF\u30C3\u30AF\u30FB\u30C8\u30EC\u30FC\u30B9: \n"},
- {"Success:","\u6210\u529F:"},
- // Note: SummaryTab.headerDateTimeFormat can be one the following:
- // 1. A combination of two styles for date and time, using the
- // constants from class DateFormat: SHORT, MEDIUM, LONG, FULL.
- // Example: "MEDIUM,MEDIUM" or "FULL,SHORT"
- // 2. An explicit string pattern used for creating an instance
- // of the class SimpleDateFormat.
- // Example: "yyyy-MM-dd HH:mm:ss" or "M/d/yyyy h:mm:ss a"
- {"SummaryTab.headerDateTimeFormat", "FULL,FULL"},
- {"SummaryTab.pendingFinalization.label", "\u30D5\u30A1\u30A4\u30CA\u30E9\u30A4\u30BA\u306E\u30DA\u30F3\u30C7\u30A3\u30F3\u30B0"},
- {"SummaryTab.pendingFinalization.value", "{0}\u500B\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8"},
- {"SummaryTab.tabName", "VM\u30B5\u30DE\u30EA\u30FC"},
- {"SummaryTab.vmVersion","{0}\u30D0\u30FC\u30B8\u30E7\u30F3{1}"},
- {"TabularData are not supported", "TabularData \u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093"},
- {"Threads","\u30B9\u30EC\u30C3\u30C9"},
- {"ThreadTab.infoLabelFormat", "<html>\u5B9F\u884C\u4E2D: {0} \u30D4\u30FC\u30AF: {1} \u5408\u8A08: {2}</html>"},
- {"ThreadTab.threadInfo.accessibleName", "\u30B9\u30EC\u30C3\u30C9\u60C5\u5831"},
- {"ThreadTab.threadPlotter.accessibleName", "\u30B9\u30EC\u30C3\u30C9\u6570\u306E\u30C1\u30E3\u30FC\u30C8\u3002"},
- {"Threshold","\u3057\u304D\u3044\u5024"},
- {"Tile", "\u4E26\u3079\u3066\u8868\u793A(T)"},
- {"Tile.mnemonic", 'T'},
- {"Time Range:", "\u6642\u9593\u7BC4\u56F2(T):"},
- {"Time Range:.mnemonic", 'T'},
- {"Time", "\u6642\u9593"},
- {"TimeStamp","TimeStamp"},
- {"Total Loaded", "\u30ED\u30FC\u30C9\u6E08\u5408\u8A08"},
- {"Total classes loaded","\u30ED\u30FC\u30C9\u6E08\u30AF\u30E9\u30B9\u5408\u8A08"},
- {"Total classes unloaded","\u30A2\u30F3\u30ED\u30FC\u30C9\u6E08\u30AF\u30E9\u30B9\u5408\u8A08"},
- {"Total compile time","\u5408\u8A08\u30B3\u30F3\u30D1\u30A4\u30EB\u6642\u9593"},
- {"Total physical memory","\u5408\u8A08\u7269\u7406\u30E1\u30E2\u30EA\u30FC"},
- {"Total threads started","\u958B\u59CB\u6E08\u5408\u8A08\u30B9\u30EC\u30C3\u30C9"},
- {"Total swap space","\u5408\u8A08\u30B9\u30EF\u30C3\u30D7\u30FB\u30B9\u30DA\u30FC\u30B9"},
- {"Type","\u578B"},
- {"Unavailable","\u5229\u7528\u4E0D\u53EF"},
- {"UNKNOWN","UNKNOWN"},
- {"Unknown Host","\u4E0D\u660E\u306A\u30DB\u30B9\u30C8: {0}"},
- {"Unregister", "\u767B\u9332\u89E3\u9664"},
- {"Uptime","\u7A3C\u50CD\u6642\u9593"},
- {"Uptime: ","\u7A3C\u50CD\u6642\u9593: "},
- {"Usage Threshold","\u4F7F\u7528\u3057\u304D\u3044\u5024"},
- {"remoteTF.usage","<b>\u4F7F\u7528\u65B9\u6CD5</b>: <hostname>:<port>\u307E\u305F\u306Fservice:jmx:<protocol>:<sap>"},
- {"Used","\u4F7F\u7528\u6E08"},
- {"Username: ", "\u30E6\u30FC\u30B6\u30FC\u540D(U): "},
- {"Username: .mnemonic", 'U'},
- {"Username.accessibleName", "\u30E6\u30FC\u30B6\u30FC\u540D"},
- {"UserData","UserData"},
- {"Virtual Machine","\u4EEE\u60F3\u30DE\u30B7\u30F3"},
- {"VM arguments","VM\u5F15\u6570"},
- {"VM","VM"},
- {"VMInternalFrame.accessibleDescription", "Java\u4EEE\u60F3\u30DE\u30B7\u30F3\u306E\u30E2\u30CB\u30BF\u30FC\u7528\u306E\u5185\u90E8\u30D5\u30EC\u30FC\u30E0"},
- {"Value","\u5024"},
- {"Vendor", "\u30D9\u30F3\u30C0\u30FC"},
- {"Verbose Output","\u8A73\u7D30\u51FA\u529B"},
- {"Verbose Output.toolTip", "\u30AF\u30E9\u30B9\u8AAD\u8FBC\u307F\u30B7\u30B9\u30C6\u30E0\u3067\u8A73\u7D30\u51FA\u529B\u3092\u6709\u52B9\u306B\u3059\u308B"},
- {"View value", "\u5024\u306E\u8868\u793A"},
- {"View","\u8868\u793A"},
- {"Window", "\u30A6\u30A3\u30F3\u30C9\u30A6(W)"},
- {"Window.mnemonic", 'W'},
- {"Windows","\u30A6\u30A3\u30F3\u30C9\u30A6"},
- {"Writable","\u66F8\u8FBC\u307F\u53EF\u80FD"},
- {"You cannot drop a class here", "\u30AF\u30E9\u30B9\u3092\u3053\u3053\u306B\u30C9\u30ED\u30C3\u30D7\u3067\u304D\u307E\u305B\u3093"},
- {"collapse", "\u7E2E\u5C0F"},
- {"connectionFailed1","\u63A5\u7D9A\u306B\u5931\u6557\u3057\u307E\u3057\u305F: \u518D\u8A66\u884C\u3057\u307E\u3059\u304B\u3002"},
- {"connectionFailed2","{0}\u3078\u306E\u63A5\u7D9A\u304C\u6210\u529F\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002<br>\u3082\u3046\u4E00\u5EA6\u8A66\u3057\u307E\u3059\u304B\u3002"},
- {"connectionLost1","\u63A5\u7D9A\u304C\u5931\u308F\u308C\u307E\u3057\u305F: \u518D\u63A5\u7D9A\u3057\u307E\u3059\u304B\u3002"},
- {"connectionLost2","\u30EA\u30E2\u30FC\u30C8\u30FB\u30D7\u30ED\u30BB\u30B9\u304C\u7D42\u4E86\u3057\u305F\u305F\u3081{0}\u3078\u306E\u63A5\u7D9A\u304C\u5931\u308F\u308C\u307E\u3057\u305F\u3002<br>\u518D\u63A5\u7D9A\u3057\u307E\u3059\u304B\u3002"},
- {"connectingTo1","{0}\u306B\u63A5\u7D9A\u4E2D"},
- {"connectingTo2","{0}\u306B\u73FE\u5728\u63A5\u7D9A\u4E2D\u3067\u3059\u3002<br>\u3053\u308C\u306B\u306F\u6570\u5206\u304B\u304B\u308A\u307E\u3059\u3002"},
- {"deadlockAllTab","\u3059\u3079\u3066"},
- {"deadlockTab","\u30C7\u30C3\u30C9\u30ED\u30C3\u30AF"},
- {"deadlockTabN","\u30C7\u30C3\u30C9\u30ED\u30C3\u30AF{0}"},
- {"expand", "\u5C55\u958B"},
- {"kbytes","{0} KB"},
- {"operation","\u64CD\u4F5C"},
- {"plot", "\u30D7\u30ED\u30C3\u30C8"},
- {"visualize","\u8996\u899A\u5316"},
- {"zz usage text",
- "\u4F7F\u7528\u65B9\u6CD5: {0} [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ... ]\n\n -interval \u66F4\u65B0\u9593\u9694\u3092n\u79D2\u306B\u8A2D\u5B9A\u3059\u308B(\u30C7\u30D5\u30A9\u30EB\u30C8\u306F4\u79D2)\n -notile \u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u6700\u521D\u306B\u4E26\u3079\u3066\u8868\u793A\u3057\u306A\u3044(2\u3064\u4EE5\u4E0A\u306E\u63A5\u7D9A\u306B\u3064\u3044\u3066)\n -pluginpath JConsole\u304C\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u53C2\u7167\u3059\u308B\u305F\u3081\u306B\u4F7F\u7528\u3059\u308B\u30D1\u30B9\u3092\u6307\u5B9A\u3059\u308B\n -version \u30D7\u30ED\u30B0\u30E9\u30E0\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u5370\u5237\u3059\u308B\n\n connection = pid || host:port || JMX URL (service:jmx:<protocol>://...)\n pid \u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30D7\u30ED\u30BB\u30B9\u306E\u30D7\u30ED\u30BB\u30B9ID\n host \u30EA\u30E2\u30FC\u30C8\u30FB\u30DB\u30B9\u30C8\u540D\u307E\u305F\u306FIP\u30A2\u30C9\u30EC\u30B9\n port \u30EA\u30E2\u30FC\u30C8\u63A5\u7D9A\u7528\u306E\u30DD\u30FC\u30C8\u756A\u53F7\n\n -J JConsole\u304C\u5B9F\u884C\u4E2D\u306EJava\u4EEE\u60F3\u30DE\u30B7\u30F3\u3078\u306E\n \u5165\u529B\u5F15\u6570\u3092\u6307\u5B9A\u3059\u308B"},
- // END OF MATERIAL TO LOCALIZE
- };
-
- String ls = System.getProperty("line.separator");
- for(int i=0;i<temp.length;i++) {
- if (temp[i][1] instanceof String){
- temp[i][1] = temp[i][1].toString().replaceAll("\n",ls);
- }
- }
-
- return temp;
-
- }
-
- public synchronized Object[][] getContents() {
- return getContents0();
- }
-}
--- a/jdk/src/share/classes/sun/tools/jconsole/resources/JConsoleResources_zh_CN.java Fri May 25 14:32:07 2012 +0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,442 +0,0 @@
-/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.tools.jconsole.resources;
-
-import java.util.*;
-
-import static java.awt.event.KeyEvent.*;
-
-/**
- * <p> This class represents the <code>ResourceBundle</code>
- * for the following package(s):
- *
- * <ol>
- * <li> sun.tools.jconsole
- * </ol>
- *
- * <P>
- * Subclasses must override <code>getContents0</code> and provide an array,
- * where each item in the array consists of a <code>String</code> key,
- * and either a <code>String</code> value associated with that key,
- * or if the keys ends with ".mnemonic", an element
- * representing a mnemomic keycode <code>int</code> or <code>char</code>.
- */
-public class JConsoleResources_zh_CN extends JConsoleResources {
-
- /**
- * Returns the contents of this <code>ResourceBundle</code>.
- *
- * <p>
- *
- * @return the contents of this <code>ResourceBundle</code>.
- */
- protected Object[][] getContents0() {
- Object[][] temp = new Object[][] {
- // NOTE 1: The value strings in this file containing "{0}" are
- // processed by the java.text.MessageFormat class. Any
- // single quotes appearing in these strings need to be
- // doubled up.
- //
- // NOTE 2: To make working with this file a bit easier, please
- // maintain these messages in ASCII sorted order by
- // message key.
- //
- // LOCALIZE THIS
- {" 1 day"," 1 \u5929"},
- {" 1 hour"," 1 \u5C0F\u65F6"},
- {" 1 min"," 1 \u5206\u949F"},
- {" 1 month"," 1 \u4E2A\u6708"},
- {" 1 year"," 1 \u5E74"},
- {" 2 hours"," 2 \u5C0F\u65F6"},
- {" 3 hours"," 3 \u5C0F\u65F6"},
- {" 3 months"," 3 \u4E2A\u6708"},
- {" 5 min"," 5 \u5206\u949F"},
- {" 6 hours"," 6 \u5C0F\u65F6"},
- {" 6 months"," 6 \u4E2A\u6708"},
- {" 7 days"," 7 \u5929"},
- {"10 min","10 \u5206\u949F"},
- {"12 hours","12 \u5C0F\u65F6"},
- {"30 min","30 \u5206\u949F"},
- {"<","<"},
- {"<<","<<"},
- {">",">"},
- {"ACTION","ACTION"},
- {"ACTION_INFO","ACTION_INFO"},
- {"All","\u5168\u90E8"},
- {"Apply","\u5E94\u7528"},
- {"Architecture","\u4F53\u7CFB\u7ED3\u6784"},
- {"Array, OpenType", "\u6570\u7EC4, OpenType"},
- {"Array, OpenType, Numeric value viewer","\u6570\u7EC4, OpenType, \u6570\u503C\u67E5\u770B\u5668"},
- {"Attribute","\u5C5E\u6027"},
- {"Attribute value","\u5C5E\u6027\u503C"},
- {"Attribute values","\u5C5E\u6027\u503C"},
- {"Attributes","\u5C5E\u6027"},
- {"Blank", "\u7A7A\u767D"},
- {"BlockedCount WaitedCount",
- "\u603B\u963B\u6B62\u6570: {0}, \u603B\u7B49\u5F85\u6570: {1}\n"},
- {"Boot class path","\u5F15\u5BFC\u7C7B\u8DEF\u5F84"},
- {"BorderedComponent.moreOrLessButton.toolTip", "\u5207\u6362\u4EE5\u663E\u793A\u66F4\u591A\u6216\u66F4\u5C11\u4FE1\u606F"},
- {"CPU Usage","CPU \u5360\u7528\u7387"},
- {"CPUUsageFormat","CPU \u5360\u7528\u7387: {0}%"},
- {"Cancel","\u53D6\u6D88"},
- {"Cascade", "\u5C42\u53E0(C)"},
- {"Cascade.mnemonic", 'C'},
- {"Chart:", "\u56FE\u8868(C):"},
- {"Chart:.mnemonic", 'C'},
- {"Class path","\u7C7B\u8DEF\u5F84"},
- {"Class","\u7C7B"},
- {"ClassName","ClassName"},
- {"ClassTab.infoLabelFormat", "<html>\u5DF2\u52A0\u8F7D: {0} \u5DF2\u5378\u8F7D: {1} \u603B\u8BA1: {2}</html>"},
- {"ClassTab.loadedClassesPlotter.accessibleName", "\u5DF2\u52A0\u8F7D\u7C7B\u7684\u56FE\u8868\u3002"},
- {"Classes","\u7C7B"},
- {"Close","\u5173\u95ED"},
- {"Column.Name", "\u540D\u79F0"},
- {"Column.PID", "PID"},
- {"Committed memory","\u63D0\u4EA4\u7684\u5185\u5B58"},
- {"Committed virtual memory","\u63D0\u4EA4\u7684\u865A\u62DF\u5185\u5B58"},
- {"Committed", "\u5DF2\u63D0\u4EA4"},
- {"Compiler","\u7F16\u8BD1\u5668"},
- {"CompositeData","CompositeData"},
- {"Config","\u914D\u7F6E"},
- {"Connect", "\u8FDE\u63A5(C)"},
- {"Connect.mnemonic", 'C'},
- {"Connect...","\u8FDE\u63A5..."},
- {"ConnectDialog.connectButton.toolTip", "\u8FDE\u63A5\u5230 Java \u865A\u62DF\u673A"},
- {"ConnectDialog.accessibleDescription", "\u7528\u4E8E\u4E0E\u672C\u5730\u6216\u8FDC\u7A0B Java \u865A\u62DF\u673A\u5EFA\u7ACB\u65B0\u8FDE\u63A5\u7684\u5BF9\u8BDD\u6846"},
- {"ConnectDialog.masthead.accessibleName", "\u62A5\u5934\u56FE"},
- {"ConnectDialog.masthead.title", "\u65B0\u5EFA\u8FDE\u63A5"},
- {"ConnectDialog.statusBar.accessibleName", "\u72B6\u6001\u680F"},
- {"ConnectDialog.title", "JConsole: \u65B0\u5EFA\u8FDE\u63A5"},
- {"Connected. Click to disconnect.","\u5DF2\u8FDE\u63A5\u3002\u5355\u51FB\u53EF\u65AD\u5F00\u8FDE\u63A5\u3002"},
- {"Connection failed","\u8FDE\u63A5\u5931\u8D25"},
- {"Connection", "\u8FDE\u63A5(C)"},
- {"Connection.mnemonic", 'C'},
- {"Connection name", "\u8FDE\u63A5\u540D\u79F0"},
- {"ConnectionName (disconnected)","{0} (\u5DF2\u65AD\u5F00\u8FDE\u63A5)"},
- {"Constructor","\u6784\u9020\u5668"},
- {"Current classes loaded", "\u5DF2\u52A0\u88C5\u5F53\u524D\u7C7B"},
- {"Current heap size","\u5F53\u524D\u5806\u5927\u5C0F"},
- {"Current value","\u5F53\u524D\u503C: {0}"},
- {"Create", "\u521B\u5EFA"},
- {"Daemon threads","\u5B88\u62A4\u7A0B\u5E8F\u7EBF\u7A0B"},
- {"Disconnected. Click to connect.","\u5DF2\u65AD\u5F00\u8FDE\u63A5\u3002\u5355\u51FB\u53EF\u8FDE\u63A5\u3002"},
- {"Double click to expand/collapse","\u53CC\u51FB\u4EE5\u5C55\u5F00/\u9690\u85CF"},
- {"Double click to visualize", "\u53CC\u51FB\u4EE5\u4F7F\u5176\u53EF\u89C1"},
- {"Description", "\u8BF4\u660E"},
- {"Description: ", "\u8BF4\u660E: "},
- {"Descriptor", "\u63CF\u8FF0\u7B26"},
- {"Details", "\u8BE6\u7EC6\u8D44\u6599"},
- {"Detect Deadlock", "\u68C0\u6D4B\u6B7B\u9501(D)"},
- {"Detect Deadlock.mnemonic", 'D'},
- {"Detect Deadlock.toolTip", "\u68C0\u6D4B\u5904\u4E8E\u6B7B\u9501\u72B6\u6001\u7684\u7EBF\u7A0B"},
- {"Dimension is not supported:","\u4E0D\u652F\u6301\u7EF4:"},
- {"Discard chart", "\u653E\u5F03\u56FE\u8868"},
- {"DurationDaysHoursMinutes","{0,choice,1#{0,number,integer} \u5929 |1.0<{0,number,integer} \u5929 }{1,choice,0<{1,number,integer} \u5C0F\u65F6 |1#{1,number,integer} \u5C0F\u65F6 |1<{1,number,integer} \u5C0F\u65F6 }{2,choice,0<{2,number,integer} \u5206\u949F|1#{2,number,integer} \u5206\u949F|1.0<{2,number,integer} \u5206\u949F}"},
-
- {"DurationHoursMinutes","{0,choice,1#{0,number,integer} \u5C0F\u65F6 |1<{0,number,integer} \u5C0F\u65F6 }{1,choice,0<{1,number,integer} \u5206\u949F|1#{1,number,integer} \u5206\u949F|1.0<{1,number,integer} \u5206\u949F}"},
-
- {"DurationMinutes","{0,choice,1#{0,number,integer} \u5206\u949F|1.0<{0,number,integer} \u5206\u949F}"},
- {"DurationSeconds","{0} \u79D2"},
- {"Empty array", "\u7A7A\u6570\u7EC4"},
- {"Empty opentype viewer", "\u7A7A opentype \u67E5\u770B\u5668"},
- {"Error","\u9519\u8BEF"},
- {"Error: MBeans already exist","\u9519\u8BEF: MBean \u5DF2\u5B58\u5728"},
- {"Error: MBeans do not exist","\u9519\u8BEF: MBean \u4E0D\u5B58\u5728"},
- {"Error:","\u9519\u8BEF:"},
- {"Event","\u4E8B\u4EF6"},
- {"Exit", "\u9000\u51FA(X)"},
- {"Exit.mnemonic", 'X'},
- {"Fail to load plugin", "\u8B66\u544A: \u65E0\u6CD5\u52A0\u8F7D\u63D2\u4EF6: {0}"},
- {"FileChooser.fileExists.cancelOption", "\u53D6\u6D88"},
- {"FileChooser.fileExists.message", "<html><center>\u6587\u4EF6\u5DF2\u5B58\u5728:<br>{0}<br>\u662F\u5426\u8981\u66FF\u6362?"},
- {"FileChooser.fileExists.okOption", "\u66FF\u6362"},
- {"FileChooser.fileExists.title", "\u6587\u4EF6\u5DF2\u5B58\u5728"},
- {"FileChooser.savedFile", "<html>\u5DF2\u4FDD\u5B58\u5230\u6587\u4EF6:<br>{0}<br>({1} \u5B57\u8282)"},
- {"FileChooser.saveFailed.message", "<html><center>\u672A\u80FD\u4FDD\u5B58\u5230\u6587\u4EF6:<br>{0}<br>{1}"},
- {"FileChooser.saveFailed.title", "\u4FDD\u5B58\u5931\u8D25"},
- {"Free physical memory","\u7A7A\u95F2\u7269\u7406\u5185\u5B58"},
- {"Free swap space","\u7A7A\u95F2\u4EA4\u6362\u7A7A\u95F4"},
- {"Garbage collector","\u5783\u573E\u6536\u96C6\u5668"},
- {"GTK","GTK"},
- {"GcInfo","\u540D\u79F0 = ''{0}'', \u6536\u96C6 = {1,choice,-1#Unavailable|0#{1,number,integer}}, \u603B\u82B1\u8D39\u65F6\u95F4 = {2}"},
- {"GC time","GC \u65F6\u95F4"},
- {"GC time details","{1}\u4E0A\u7684{0} ({2}\u6536\u96C6)"},
- {"Heap Memory Usage","\u5806\u5185\u5B58\u4F7F\u7528\u91CF"},
- {"Heap", "\u5806"},
- {"Help.AboutDialog.accessibleDescription", "\u5305\u542B\u6709\u5173 JConsole \u548C JDK \u7248\u672C\u4FE1\u606F\u7684\u5BF9\u8BDD\u6846"},
- {"Help.AboutDialog.jConsoleVersion", "JConsole \u7248\u672C:<br>{0}"},
- {"Help.AboutDialog.javaVersion", "Java VM \u7248\u672C:<br>{0}"},
- {"Help.AboutDialog.masthead.accessibleName", "\u62A5\u5934\u56FE"},
- {"Help.AboutDialog.masthead.title", "\u5173\u4E8E JConsole"},
- {"Help.AboutDialog.title", "JConsole: \u5173\u4E8E"},
- {"Help.AboutDialog.userGuideLink", "JConsole \u7528\u6237\u6307\u5357(U):<br>{0}"},
- {"Help.AboutDialog.userGuideLink.mnemonic", 'U'},
- {"Help.AboutDialog.userGuideLink.url", "http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html"},
- {"HelpMenu.About.title", "\u5173\u4E8E JConsole(A)"},
- {"HelpMenu.About.title.mnemonic", 'A'},
- {"HelpMenu.UserGuide.title", "\u8054\u673A\u7528\u6237\u6307\u5357"},
- {"HelpMenu.UserGuide.title.mnemonic", 'U'},
- {"HelpMenu.title", "\u5E2E\u52A9(H)"},
- {"HelpMenu.title.mnemonic", 'H'},
- {"Hotspot MBeans...", "HotSpot MBean(H)..."},
- {"Hotspot MBeans....mnemonic", 'H'},
- {"Hotspot MBeans.dialog.accessibleDescription", "\u7528\u4E8E\u7BA1\u7406 HotSpot MBean \u7684\u5BF9\u8BDD\u6846"},
- {"Impact","\u5F71\u54CD"},
- {"Info","\u4FE1\u606F"},
- {"INFO","INFO"},
- {"Invalid plugin path", "\u8B66\u544A: \u63D2\u4EF6\u8DEF\u5F84\u65E0\u6548: {0}"},
- {"Invalid URL", "URL \u65E0\u6548: {0}"},
- {"Is","\u662F"},
- {"Java Monitoring & Management Console", "Java \u76D1\u89C6\u548C\u7BA1\u7406\u63A7\u5236\u53F0"},
- {"JConsole: ","JConsole: {0}"},
- {"JConsole version","JConsole \u7248\u672C \"{0}\""},
- {"JConsole.accessibleDescription", "Java \u76D1\u89C6\u548C\u7BA1\u7406\u63A7\u5236\u53F0"},
- {"JIT compiler","JIT \u7F16\u8BD1\u5668"},
- {"Java Virtual Machine","Java \u865A\u62DF\u673A"},
- {"Java","Java"},
- {"Library path","\u5E93\u8DEF\u5F84"},
- {"Listeners","\u76D1\u542C\u7A0B\u5E8F"},
- {"Live Threads","\u6D3B\u52A8\u7EBF\u7A0B"},
- {"Loaded", "\u5DF2\u52A0\u8F7D"},
- {"Local Process:", "\u672C\u5730\u8FDB\u7A0B(L):"},
- {"Local Process:.mnemonic", 'L'},
- {"Look and Feel","\u5916\u89C2"},
- {"Masthead.font", "Dialog-PLAIN-25"},
- {"Management Not Enabled","<b>\u6CE8</b>: \u672A\u5BF9\u6B64\u8FDB\u7A0B\u542F\u7528\u7BA1\u7406\u4EE3\u7406\u3002"},
- {"Management Will Be Enabled","<b>\u6CE8</b>: \u5C06\u5BF9\u6B64\u8FDB\u7A0B\u542F\u7528\u7BA1\u7406\u4EE3\u7406\u3002"},
- {"MBeanAttributeInfo","MBeanAttributeInfo"},
- {"MBeanInfo","MBeanInfo"},
- {"MBeanNotificationInfo","MBeanNotificationInfo"},
- {"MBeanOperationInfo","MBeanOperationInfo"},
- {"MBeans","MBean"},
- {"MBeansTab.clearNotificationsButton", "\u6E05\u9664(C)"},
- {"MBeansTab.clearNotificationsButton.mnemonic", 'C'},
- {"MBeansTab.clearNotificationsButton.toolTip", "\u6E05\u9664\u901A\u77E5"},
- {"MBeansTab.compositeNavigationMultiple", "\u7EC4\u5408\u5BFC\u822A{0}/{1}"},
- {"MBeansTab.compositeNavigationSingle", "\u7EC4\u5408\u5BFC\u822A"},
- {"MBeansTab.refreshAttributesButton", "\u5237\u65B0(R)"},
- {"MBeansTab.refreshAttributesButton.mnemonic", 'R'},
- {"MBeansTab.refreshAttributesButton.toolTip", "\u5237\u65B0\u5C5E\u6027"},
- {"MBeansTab.subscribeNotificationsButton", "\u8BA2\u9605(S)"},
- {"MBeansTab.subscribeNotificationsButton.mnemonic", 'S'},
- {"MBeansTab.subscribeNotificationsButton.toolTip", "\u5F00\u59CB\u76D1\u542C\u901A\u77E5"},
- {"MBeansTab.tabularNavigationMultiple", "\u8868\u683C\u5F0F\u5BFC\u822A{0}/{1}"},
- {"MBeansTab.tabularNavigationSingle", "\u8868\u683C\u5F0F\u5BFC\u822A"},
- {"MBeansTab.unsubscribeNotificationsButton", "\u53D6\u6D88\u8BA2\u9605(U)"},
- {"MBeansTab.unsubscribeNotificationsButton.mnemonic", 'U'},
- {"MBeansTab.unsubscribeNotificationsButton.toolTip", "\u505C\u6B62\u76D1\u542C\u901A\u77E5"},
- {"Manage Hotspot MBeans in: ", "\u7BA1\u7406\u4EE5\u4E0B\u4F4D\u7F6E\u7684 HotSpot MBean: "},
- {"Max","\u6700\u5927\u503C"},
- {"Maximum heap size","\u6700\u5927\u5806\u5927\u5C0F"},
- {"Memory","\u5185\u5B58"},
- {"MemoryPoolLabel", "\u5185\u5B58\u6C60 \"{0}\""},
- {"MemoryTab.heapPlotter.accessibleName", "\u5806\u7684\u5185\u5B58\u4F7F\u7528\u91CF\u56FE\u8868\u3002"},
- {"MemoryTab.infoLabelFormat", "<html>\u5DF2\u7528: {0} \u5DF2\u63D0\u4EA4: {1} \u6700\u5927: {2}</html>"},
- {"MemoryTab.nonHeapPlotter.accessibleName", "\u975E\u5806\u7684\u5185\u5B58\u4F7F\u7528\u91CF\u56FE\u8868\u3002"},
- {"MemoryTab.poolChart.aboveThreshold", "\u5927\u4E8E{0}\u7684\u9608\u503C\u3002\n"},
- {"MemoryTab.poolChart.accessibleName", "\u5185\u5B58\u6C60\u4F7F\u7528\u91CF\u56FE\u8868\u3002"},
- {"MemoryTab.poolChart.belowThreshold", "\u4F4E\u4E8E{0}\u7684\u9608\u503C\u3002\n"},
- {"MemoryTab.poolPlotter.accessibleName", "{0}\u7684\u5185\u5B58\u4F7F\u7528\u91CF\u56FE\u8868\u3002"},
- {"Message","\u6D88\u606F"},
- {"Method successfully invoked", "\u5DF2\u6210\u529F\u8C03\u7528\u65B9\u6CD5"},
- {"Minimize All", "\u5168\u90E8\u6700\u5C0F\u5316(M)"},
- {"Minimize All.mnemonic", 'M'},
- {"Minus Version", "\u8FD9\u662F{0}\u7248\u672C {1}"},
- {"Monitor locked",
- " - \u5DF2\u9501\u5B9A{0}\n"},
- {"Motif","Motif"},
- {"Name Build and Mode","{0} (\u5DE5\u4F5C\u7248\u672C {1}, {2})"},
- {"Name and Build","{0} (\u5DE5\u4F5C\u7248\u672C {1})"},
- {"Name","\u540D\u79F0"},
- {"Name: ","\u540D\u79F0: "},
- {"Name State",
- "\u540D\u79F0: {0}\n\u72B6\u6001: {1}\n"},
- {"Name State LockName",
- "\u540D\u79F0: {0}\n\u72B6\u6001: {2}\u4E0A\u7684{1}\n"},
- {"Name State LockName LockOwner",
- "\u540D\u79F0: {0}\n\u72B6\u6001: {2}\u4E0A\u7684{1}, \u62E5\u6709\u8005: {3}\n"},
- {"New Connection...", "\u65B0\u5EFA\u8FDE\u63A5(N)..."},
- {"New Connection....mnemonic", 'N'},
- {"New value applied","\u5DF2\u5E94\u7528\u65B0\u503C"},
- {"No attribute selected","\u672A\u9009\u62E9\u5C5E\u6027"},
- {"No deadlock detected","\u672A\u68C0\u6D4B\u5230\u6B7B\u9501"},
- {"No value selected","\u672A\u9009\u62E9\u503C"},
- {"Non-Heap Memory Usage","\u975E\u5806\u5185\u5B58\u4F7F\u7528\u91CF"},
- {"Non-Heap", "\u975E\u5806"},
- {"Not Yet Implemented","\u5C1A\u672A\u5B9E\u73B0"},
- {"Not a valid event broadcaster", "\u4E0D\u662F\u6709\u6548\u7684\u4E8B\u4EF6\u5E7F\u64AD\u8005"},
- {"Notification","\u901A\u77E5"},
- {"Notification buffer","\u901A\u77E5\u7F13\u51B2\u533A"},
- {"Notifications","\u901A\u77E5"},
- {"NotifTypes", "NotifTypes"},
- {"Number of Threads","\u7EBF\u7A0B\u6570"},
- {"Number of Loaded Classes","\u5DF2\u52A0\u8F7D\u7C7B\u6570"},
- {"Number of processors","\u5904\u7406\u7A0B\u5E8F\u6570"},
- {"ObjectName","ObjectName"},
- {"Operating System","\u64CD\u4F5C\u7CFB\u7EDF"},
- {"Operation","\u64CD\u4F5C"},
- {"Operation invocation","\u64CD\u4F5C\u8C03\u7528"},
- {"Operation return value", "\u64CD\u4F5C\u8FD4\u56DE\u503C"},
- {"Operations","\u64CD\u4F5C"},
- {"Overview","\u6982\u89C8"},
- {"OverviewPanel.plotter.accessibleName", "{0}\u7684\u56FE\u8868\u3002"},
- {"Parameter", "\u53C2\u6570"},
- {"Password: ", "\u53E3\u4EE4(P): "},
- {"Password: .mnemonic", 'P'},
- {"Password.accessibleName", "\u53E3\u4EE4"},
- {"Peak","\u5CF0\u503C"},
- {"Perform GC", "\u6267\u884C GC"},
- {"Perform GC.mnemonic", 'G'},
- {"Perform GC.toolTip", "\u8BF7\u6C42\u5783\u573E\u6536\u96C6"},
- {"Plotter.accessibleName", "\u56FE\u8868"},
- {"Plotter.accessibleName.keyAndValue", "{0}={1}\n"},
- {"Plotter.accessibleName.noData", "\u672A\u7ED8\u5236\u6570\u636E\u3002"},
- {"Plotter.saveAsMenuItem", "\u5C06\u6570\u636E\u53E6\u5B58\u4E3A(A)..."},
- {"Plotter.saveAsMenuItem.mnemonic", 'A'},
- {"Plotter.timeRangeMenu", "\u65F6\u95F4\u8303\u56F4(T)"},
- {"Plotter.timeRangeMenu.mnemonic", 'T'},
- {"Problem adding listener","\u6DFB\u52A0\u76D1\u542C\u7A0B\u5E8F\u65F6\u51FA\u73B0\u95EE\u9898"},
- {"Problem displaying MBean", "\u663E\u793A MBean \u65F6\u51FA\u73B0\u95EE\u9898"},
- {"Problem invoking", "\u8C03\u7528\u65F6\u51FA\u73B0\u95EE\u9898"},
- {"Problem removing listener","\u5220\u9664\u76D1\u542C\u7A0B\u5E8F\u65F6\u51FA\u73B0\u95EE\u9898"},
- {"Problem setting attribute","\u8BBE\u7F6E\u5C5E\u6027\u65F6\u51FA\u73B0\u95EE\u9898"},
- {"Process CPU time","\u8FDB\u7A0B CPU \u65F6\u95F4"},
- {"R/W","\u8BFB\u5199"},
- {"Readable","\u53EF\u8BFB"},
- {"Received","\u6536\u5230"},
- {"Reconnect","\u91CD\u65B0\u8FDE\u63A5"},
- {"Remote Process:", "\u8FDC\u7A0B\u8FDB\u7A0B(R):"},
- {"Remote Process:.mnemonic", 'R'},
- {"Remote Process.textField.accessibleName", "\u8FDC\u7A0B\u8FDB\u7A0B"},
- {"Remove","\u5220\u9664"},
- {"Restore All", "\u5168\u90E8\u8FD8\u539F(R)"},
- {"Restore All.mnemonic", 'R'},
- {"Return value", "\u8FD4\u56DE\u503C"},
- {"ReturnType", "ReturnType"},
- {"SeqNum","SeqNum"},
- {"Size Bytes", "{0,number,integer} \u5B57\u8282"},
- {"Size Gb","{0} GB"},
- {"Size Kb","{0} KB"},
- {"Size Mb","{0} MB"},
- {"Source","\u6E90"},
- {"Stack trace",
- "\n\u5806\u6808\u8DDF\u8E2A: \n"},
- {"Success:","\u6210\u529F:"},
- // Note: SummaryTab.headerDateTimeFormat can be one the following:
- // 1. A combination of two styles for date and time, using the
- // constants from class DateFormat: SHORT, MEDIUM, LONG, FULL.
- // Example: "MEDIUM,MEDIUM" or "FULL,SHORT"
- // 2. An explicit string pattern used for creating an instance
- // of the class SimpleDateFormat.
- // Example: "yyyy-MM-dd HH:mm:ss" or "M/d/yyyy h:mm:ss a"
- {"SummaryTab.headerDateTimeFormat", "FULL,FULL"},
- {"SummaryTab.pendingFinalization.label", "\u6682\u6302\u6700\u7EC8\u5904\u7406"},
- {"SummaryTab.pendingFinalization.value", "{0}\u5BF9\u8C61"},
- {"SummaryTab.tabName", "VM \u6982\u8981"},
- {"SummaryTab.vmVersion","{0}\u7248\u672C {1}"},
- {"TabularData are not supported", "\u4E0D\u652F\u6301 TabularData"},
- {"Threads","\u7EBF\u7A0B"},
- {"ThreadTab.infoLabelFormat", "<html>\u6D3B\u52A8: {0} \u5CF0\u503C: {1} \u603B\u8BA1: {2}</html>"},
- {"ThreadTab.threadInfo.accessibleName", "\u7EBF\u7A0B\u4FE1\u606F"},
- {"ThreadTab.threadPlotter.accessibleName", "\u8868\u793A\u7EBF\u7A0B\u6570\u7684\u56FE\u8868\u3002"},
- {"Threshold","\u9608\u503C"},
- {"Tile", "\u5E73\u94FA(T)"},
- {"Tile.mnemonic", 'T'},
- {"Time Range:", "\u65F6\u95F4\u8303\u56F4(T):"},
- {"Time Range:.mnemonic", 'T'},
- {"Time", "\u65F6\u95F4"},
- {"TimeStamp","TimeStamp"},
- {"Total Loaded", "\u52A0\u8F7D\u603B\u6570"},
- {"Total classes loaded","\u5DF2\u52A0\u8F7D\u7C7B\u603B\u6570"},
- {"Total classes unloaded","\u5DF2\u5378\u8F7D\u7C7B\u603B\u6570"},
- {"Total compile time","\u603B\u7F16\u8BD1\u65F6\u95F4"},
- {"Total physical memory","\u603B\u7269\u7406\u5185\u5B58"},
- {"Total threads started","\u542F\u52A8\u7684\u7EBF\u7A0B\u603B\u6570"},
- {"Total swap space","\u603B\u4EA4\u6362\u7A7A\u95F4"},
- {"Type","\u7C7B\u578B"},
- {"Unavailable","\u4E0D\u53EF\u7528"},
- {"UNKNOWN","UNKNOWN"},
- {"Unknown Host","\u672A\u77E5\u4E3B\u673A: {0}"},
- {"Unregister", "\u6CE8\u9500"},
- {"Uptime","\u8FD0\u884C\u65F6\u95F4"},
- {"Uptime: ","\u8FD0\u884C\u65F6\u95F4: "},
- {"Usage Threshold","\u7528\u6CD5\u9608\u503C"},
- {"remoteTF.usage","<b>\u7528\u6CD5</b>: <hostname>:<port> \u6216 service:jmx:<protocol>:<sap>"},
- {"Used","\u5DF2\u7528"},
- {"Username: ", "\u7528\u6237\u540D(U): "},
- {"Username: .mnemonic", 'U'},
- {"Username.accessibleName", "\u7528\u6237\u540D"},
- {"UserData","UserData"},
- {"Virtual Machine","\u865A\u62DF\u673A"},
- {"VM arguments","VM \u53C2\u6570"},
- {"VM","VM"},
- {"VMInternalFrame.accessibleDescription", "\u7528\u4E8E\u76D1\u89C6 Java \u865A\u62DF\u673A\u7684\u5185\u90E8\u6846\u67B6"},
- {"Value","\u503C"},
- {"Vendor", "\u5382\u5546"},
- {"Verbose Output","\u8BE6\u7EC6\u8F93\u51FA"},
- {"Verbose Output.toolTip", "\u4E3A\u7C7B\u52A0\u8F7D\u7CFB\u7EDF\u542F\u7528\u8BE6\u7EC6\u8F93\u51FA"},
- {"View value", "\u89C6\u56FE\u503C"},
- {"View","\u89C6\u56FE"},
- {"Window", "\u7A97\u53E3(W)"},
- {"Window.mnemonic", 'W'},
- {"Windows","Windows"},
- {"Writable","\u53EF\u5199"},
- {"You cannot drop a class here", "\u65E0\u6CD5\u5220\u9664\u6B64\u5904\u7684\u7C7B"},
- {"collapse", "\u9690\u85CF"},
- {"connectionFailed1","\u8FDE\u63A5\u5931\u8D25: \u662F\u5426\u91CD\u8BD5?"},
- {"connectionFailed2","\u672A\u6210\u529F\u8FDE\u63A5\u5230{0}\u3002<br>\u662F\u5426\u8981\u91CD\u8BD5?"},
- {"connectionLost1","\u8FDE\u63A5\u4E22\u5931: \u662F\u5426\u91CD\u65B0\u8FDE\u63A5?"},
- {"connectionLost2","\u7531\u4E8E\u8FDC\u7A0B\u8FDB\u7A0B\u5DF2\u7EC8\u6B62, \u4E0E{0}\u7684\u8FDE\u63A5\u4E22\u5931\u3002<br>\u662F\u5426\u8981\u91CD\u65B0\u8FDE\u63A5?"},
- {"connectingTo1","\u6B63\u5728\u8FDE\u63A5\u5230{0}"},
- {"connectingTo2","\u60A8\u5F53\u524D\u6B63\u5728\u8FDE\u63A5\u5230{0}\u3002<br>\u8FD9\u5C06\u9700\u8981\u51E0\u5206\u949F\u7684\u65F6\u95F4\u3002"},
- {"deadlockAllTab","\u5168\u90E8"},
- {"deadlockTab","\u6B7B\u9501"},
- {"deadlockTabN","\u6B7B\u9501{0}"},
- {"expand", "\u5C55\u5F00"},
- {"kbytes","{0} KB"},
- {"operation","\u64CD\u4F5C"},
- {"plot", "\u7ED8\u56FE"},
- {"visualize","\u53EF\u89C6\u5316"},
- {"zz usage text",
- "\u7528\u6CD5: {0} [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ... ]\n\n -interval \u5C06\u66F4\u65B0\u95F4\u9694\u8BBE\u7F6E\u4E3A n \u79D2 (\u9ED8\u8BA4\u503C\u4E3A 4 \u79D2)\n -notile \u521D\u59CB\u4E0D\u5E73\u94FA\u7A97\u53E3 (\u5BF9\u4E8E\u4E24\u4E2A\u6216\u591A\u4E2A\u8FDE\u63A5)\n -pluginpath \u6307\u5B9A jconsole \u7528\u4E8E\u67E5\u627E\u63D2\u4EF6\u7684\u8DEF\u5F84\n -version \u8F93\u51FA\u7A0B\u5E8F\u7248\u672C\n\n connection = pid || host:port || JMX URL (service:jmx:<\u534F\u8BAE>://...)\n pid \u76EE\u6807\u8FDB\u7A0B\u7684\u8FDB\u7A0B ID\n host \u8FDC\u7A0B\u4E3B\u673A\u540D\u6216 IP \u5730\u5740\n port \u8FDC\u7A0B\u8FDE\u63A5\u7684\u7AEF\u53E3\u53F7\n\n -J \u6307\u5B9A\u8FD0\u884C jconsole \u7684 Java \u865A\u62DF\u673A\n \u7684\u8F93\u5165\u53C2\u6570"},
- // END OF MATERIAL TO LOCALIZE
- };
-
- String ls = System.getProperty("line.separator");
- for(int i=0;i<temp.length;i++) {
- if (temp[i][1] instanceof String){
- temp[i][1] = temp[i][1].toString().replaceAll("\n",ls);
- }
- }
-
- return temp;
-
- }
-
- public synchronized Object[][] getContents() {
- return getContents0();
- }
-}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/tools/jconsole/resources/messages.properties Fri May 25 12:24:57 2012 +0200
@@ -0,0 +1,273 @@
+ONE_DAY=\ 1 day
+ONE_HOUR=\ 1 hour
+ONE_MIN=\ 1 min
+ONE_MONTH=\ 1 month
+ONE_YEAR=\ 1 year
+TWO_HOURS=\ 2 hours
+THREE_HOURS=\ 3 hours
+THREE_MONTHS=\ 3 months
+FIVE_MIN=\ 5 min
+SIX_HOURS=\ 6 hours
+SIX_MONTHS=\ 6 months
+SEVEN_DAYS=\ 7 days
+TEN_MIN=10 min
+TWELVE_HOURS=12 hours
+THIRTY_MIN=30 min
+LESS_THAN=<
+A_LOT_LESS_THAN=<<
+GREATER_THAN=>
+ACTION_CAPITALIZED=ACTION
+ACTION_INFO_CAPITALIZED=ACTION_INFO
+ALL=All
+ARCHITECTURE=Architecture
+ATTRIBUTE=Attribute
+ATTRIBUTE_VALUE=Attribute value
+ATTRIBUTE_VALUES=Attribute values
+ATTRIBUTES=Attributes
+BLANK=Blank
+BLOCKED_COUNT_WAITED_COUNT=Total blocked: {0} Total waited: {1}\n
+BOOT_CLASS_PATH=Boot class path
+BORDERED_COMPONENT_MORE_OR_LESS_BUTTON_TOOLTIP=Toggle to show more or less information
+CPU_USAGE=CPU Usage
+CPU_USAGE_FORMAT=CPU Usage: {0}%
+CANCEL=Cancel
+CASCADE=&Cascade
+CHART_COLON=&Chart:
+CLASS_PATH=Class path
+CLASS_NAME=ClassName
+CLASS_TAB_INFO_LABEL_FORMAT=<html>Loaded: {0} Unloaded: {1} Total: {2}</html>
+CLASS_TAB_LOADED_CLASSES_PLOTTER_ACCESSIBLE_NAME=Chart for Loaded Classes.
+CLASSES=Classes
+CLOSE=Close
+COLUMN_NAME=Name
+COLUMN_PID=PID
+COMMITTED_MEMORY=Committed memory
+COMMITTED_VIRTUAL_MEMORY=Committed virtual memory
+COMMITTED=Committed
+CONNECT=&Connect
+CONNECT_DIALOG_CONNECT_BUTTON_TOOLTIP=Connect to Java Virtual Machine
+CONNECT_DIALOG_ACCESSIBLE_DESCRIPTION=Dialog for making a new connection to a local or remote Java Virtual Machine
+CONNECT_DIALOG_MASTHEAD_ACCESSIBLE_NAME=Masthead Graphic
+CONNECT_DIALOG_MASTHEAD_TITLE=New Connection
+CONNECT_DIALOG_STATUS_BAR_ACCESSIBLE_NAME=Status Bar
+CONNECT_DIALOG_TITLE=JConsole: New Connection
+CONNECTED_PUNCTUATION_CLICK_TO_DISCONNECT_=Connected. Click to disconnect.
+CONNECTION_FAILED=Connection failed
+CONNECTION=&Connection
+CONNECTION_NAME=Connection name
+CONNECTION_NAME__DISCONNECTED_={0} (disconnected)
+CONSTRUCTOR=Constructor
+CURRENT_CLASSES_LOADED=Current classes loaded
+CURRENT_HEAP_SIZE=Current heap size
+CURRENT_VALUE=Current value: {0}
+CREATE=Create
+DAEMON_THREADS=Daemon threads
+DISCONNECTED_PUNCTUATION_CLICK_TO_CONNECT_=Disconnected. Click to connect.
+DOUBLE_CLICK_TO_EXPAND_FORWARD_SLASH_COLLAPSE=Double click to expand/collapse
+DOUBLE_CLICK_TO_VISUALIZE=Double click to visualize
+DESCRIPTION=Description
+DESCRIPTOR=Descriptor
+DETAILS=Details
+DETECT_DEADLOCK=&Detect Deadlock
+DETECT_DEADLOCK_TOOLTIP=Detect deadlocked threads
+DIMENSION_IS_NOT_SUPPORTED_COLON=Dimension is not supported:
+DISCARD_CHART=Discard chart
+DURATION_DAYS_HOURS_MINUTES={0,choice,1#{0,number,integer} day |1.0<{0,number,integer} days }{1,choice,0<{1,number,integer} hours |1#{1,number,integer} hour |1<{1,number,integer} hours }{2,choice,0<{2,number,integer} minutes|1#{2,number,integer} minute|1.0<{2,number,integer} minutes}
+DURATION_HOURS_MINUTES={0,choice,1#{0,number,integer} hour |1<{0,number,integer} hours }{1,choice,0<{1,number,integer} minutes|1#{1,number,integer} minute|1.0<{1,number,integer} minutes}
+DURATION_MINUTES={0,choice,1#{0,number,integer} minute|1.0<{0,number,integer} minutes}
+DURATION_SECONDS={0} seconds
+EMPTY_ARRAY=Empty array
+ERROR=Error
+ERROR_COLON_MBEANS_ALREADY_EXIST=Error: MBeans already exist
+ERROR_COLON_MBEANS_DO_NOT_EXIST=Error: MBeans do not exist
+EVENT=Event
+EXIT=E&xit
+FAIL_TO_LOAD_PLUGIN=Warning: Fail to load plugin: {0}
+FILE_CHOOSER_FILE_EXISTS_CANCEL_OPTION=Cancel
+FILE_CHOOSER_FILE_EXISTS_MESSAGE=<html><center>File already exists:<br>{0}<br>Do you want to replace it?
+FILE_CHOOSER_FILE_EXISTS_OK_OPTION=Replace
+FILE_CHOOSER_FILE_EXISTS_TITLE=File Exists
+FILE_CHOOSER_SAVED_FILE=<html>Saved to file:<br>{0}<br>({1} bytes)
+FILE_CHOOSER_SAVE_FAILED_MESSAGE=<html><center>Save to file failed:<br>{0}<br>{1}
+FILE_CHOOSER_SAVE_FAILED_TITLE=Save Failed
+FREE_PHYSICAL_MEMORY=Free physical memory
+FREE_SWAP_SPACE=Free swap space
+GARBAGE_COLLECTOR=Garbage collector
+GC_INFO=Name = ''{0}'', Collections = {1,choice,-1#Unavailable|0#{1,number,integer}}, Total time spent = {2}
+GC_TIME=GC time
+GC_TIME_DETAILS={0} on {1} ({2} collections)
+HEAP_MEMORY_USAGE=Heap Memory Usage
+HEAP=Heap
+HELP_ABOUT_DIALOG_ACCESSIBLE_DESCRIPTION=Dialog containing information about JConsole and JDK versions
+HELP_ABOUT_DIALOG_JCONSOLE_VERSION=JConsole version:<br>{0}
+HELP_ABOUT_DIALOG_JAVA_VERSION=Java VM version:<br>{0}
+HELP_ABOUT_DIALOG_MASTHEAD_ACCESSIBLE_NAME=Masthead Graphic
+HELP_ABOUT_DIALOG_MASTHEAD_TITLE=About JConsole
+HELP_ABOUT_DIALOG_TITLE=JConsole: About
+HELP_ABOUT_DIALOG_USER_GUIDE_LINK=JConsole &User Guide:<br>{0}
+HELP_ABOUT_DIALOG_USER_GUIDE_LINK_URL=http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html
+HELP_MENU_ABOUT_TITLE=&About JConsole
+HELP_MENU_USER_GUIDE_TITLE=Online &User Guide
+HELP_MENU_TITLE=&Help
+HOTSPOT_MBEANS_ELLIPSIS=&Hotspot MBeans...
+HOTSPOT_MBEANS_DIALOG_ACCESSIBLE_DESCRIPTION=Dialog for managing Hotspot MBeans
+IMPACT=Impact
+INFO=Info
+INFO_CAPITALIZED=INFO
+INVALID_PLUGIN_PATH=Warning: Invalid plugin path: {0}
+INVALID_URL=Invalid URL: {0}
+IS=Is
+JAVA_MONITORING___MANAGEMENT_CONSOLE=Java Monitoring && Management Console
+JCONSOLE_COLON_=JConsole: {0}
+JCONSOLE_VERSION=JConsole version "{0}"
+JCONSOLE_ACCESSIBLE_DESCRIPTION=Java Monitoring && Management Console
+JIT_COMPILER=JIT compiler
+LIBRARY_PATH=Library path
+LIVE_THREADS=Live threads
+LOADED=Loaded
+LOCAL_PROCESS_COLON=&Local Process:
+MASTHEAD_FONT=Dialog-PLAIN-25
+MANAGEMENT_NOT_ENABLED=<b>Note</b>: The management agent is not enabled on this process.
+MANAGEMENT_WILL_BE_ENABLED=<b>Note</b>: The management agent will be enabled on this process.
+MBEAN_ATTRIBUTE_INFO=MBeanAttributeInfo
+MBEAN_INFO=MBeanInfo
+MBEAN_NOTIFICATION_INFO=MBeanNotificationInfo
+MBEAN_OPERATION_INFO=MBeanOperationInfo
+MBEANS=MBeans
+MBEANS_TAB_CLEAR_NOTIFICATIONS_BUTTON=&Clear
+MBEANS_TAB_CLEAR_NOTIFICATIONS_BUTTON_TOOLTIP=Clear notifications
+MBEANS_TAB_COMPOSITE_NAVIGATION_MULTIPLE=Composite Navigation {0}/{1}
+MBEANS_TAB_COMPOSITE_NAVIGATION_SINGLE=Composite Navigation
+MBEANS_TAB_REFRESH_ATTRIBUTES_BUTTON=&Refresh
+MBEANS_TAB_REFRESH_ATTRIBUTES_BUTTON_TOOLTIP=Refresh attributes
+MBEANS_TAB_SUBSCRIBE_NOTIFICATIONS_BUTTON=&Subscribe
+MBEANS_TAB_SUBSCRIBE_NOTIFICATIONS_BUTTON_TOOLTIP=Start listening for notifications
+MBEANS_TAB_TABULAR_NAVIGATION_MULTIPLE=Tabular Navigation {0}/{1}
+MBEANS_TAB_TABULAR_NAVIGATION_SINGLE=Tabular Navigation
+MBEANS_TAB_UNSUBSCRIBE_NOTIFICATIONS_BUTTON=&Unsubscribe
+MBEANS_TAB_UNSUBSCRIBE_NOTIFICATIONS_BUTTON_TOOLTIP=Stop listening for notifications
+MANAGE_HOTSPOT_MBEANS_IN_COLON_=Manage Hotspot MBeans in:
+MAX=Max
+MAXIMUM_HEAP_SIZE=Maximum heap size
+MEMORY=Memory
+MEMORY_POOL_LABEL=Memory Pool "{0}"
+MEMORY_TAB_HEAP_PLOTTER_ACCESSIBLE_NAME=Memory usage chart for heap.
+MEMORY_TAB_INFO_LABEL_FORMAT=<html>Used: {0} Committed: {1} Max: {2}</html>
+MEMORY_TAB_NON_HEAP_PLOTTER_ACCESSIBLE_NAME=Memory usage chart for non heap.
+MEMORY_TAB_POOL_CHART_ABOVE_THRESHOLD=which is above the threshold of {0}.\n
+MEMORY_TAB_POOL_CHART_ACCESSIBLE_NAME=Memory Pool Usage Chart.
+MEMORY_TAB_POOL_CHART_BELOW_THRESHOLD=which is below the threshold of {0}.\n
+MEMORY_TAB_POOL_PLOTTER_ACCESSIBLE_NAME=Memory usage chart for {0}.
+MESSAGE=Message
+METHOD_SUCCESSFULLY_INVOKED=Method successfully invoked
+MINIMIZE_ALL=&Minimize All
+MONITOR_LOCKED=\ \ \ - locked {0}\n
+NAME=Name
+NAME_AND_BUILD={0} (build {1})
+NAME_STATE=Name: {0}\nState: {1}\n
+NAME_STATE_LOCK_NAME=Name: {0}\nState: {1} on {2}\n
+NAME_STATE_LOCK_NAME_LOCK_OWNER=Name: {0}\nState: {1} on {2} owned by: {3}\n
+NEW_CONNECTION_ELLIPSIS=&New Connection...
+NO_DEADLOCK_DETECTED=No deadlock detected
+NON_HEAP_MEMORY_USAGE=Non-Heap Memory Usage
+NON_HEAP=Non-Heap
+NOTIFICATION=Notification
+NOTIFICATION_BUFFER=Notification buffer
+NOTIFICATIONS=Notifications
+NOTIF_TYPES=NotifTypes
+NUMBER_OF_THREADS=Number of Threads
+NUMBER_OF_LOADED_CLASSES=Number of Loaded Classes
+NUMBER_OF_PROCESSORS=Number of processors
+OBJECT_NAME=ObjectName
+OPERATING_SYSTEM=Operating System
+OPERATION=Operation
+OPERATION_INVOCATION=Operation invocation
+OPERATION_RETURN_VALUE=Operation return value
+OPERATIONS=Operations
+OVERVIEW=Overview
+OVERVIEW_PANEL_PLOTTER_ACCESSIBLE_NAME=Chart for {0}.
+PARAMETER=Parameter
+PASSWORD_ACCESSIBLE_NAME=Password
+PASSWORD_COLON_=&Password:
+PEAK=Peak
+PERFORM_GC=Perform &GC
+PERFORM_GC_TOOLTIP=Request Garbage Collection
+PLOTTER_ACCESSIBLE_NAME=Chart
+PLOTTER_ACCESSIBLE_NAME_KEY_AND_VALUE={0}={1}\n
+PLOTTER_ACCESSIBLE_NAME_NO_DATA=No data plotted.
+PLOTTER_SAVE_AS_MENU_ITEM=Save data &as...
+PLOTTER_TIME_RANGE_MENU=&Time Range
+PROBLEM_ADDING_LISTENER=Problem adding listener
+PROBLEM_DISPLAYING_MBEAN=Problem displaying MBean
+PROBLEM_INVOKING=Problem invoking
+PROBLEM_REMOVING_LISTENER=Problem removing listener
+PROBLEM_SETTING_ATTRIBUTE=Problem setting attribute
+PROCESS_CPU_TIME=Process CPU time
+READABLE=Readable
+RECONNECT=Reconnect
+REMOTE_PROCESS_COLON=&Remote Process:
+REMOTE_PROCESS_TEXT_FIELD_ACCESSIBLE_NAME=Remote Process
+RESTORE_ALL=&Restore All
+RETURN_TYPE=ReturnType
+SEQ_NUM=SeqNum
+SIZE_BYTES={0,number,integer} bytes
+SIZE_GB={0} Gb
+SIZE_KB={0} Kb
+SIZE_MB={0} Mb
+SOURCE=Source
+STACK_TRACE=\nStack trace: \n
+SUMMARY_TAB_HEADER_DATE_TIME_FORMAT=FULL,FULL
+SUMMARY_TAB_PENDING_FINALIZATION_LABEL=Pending finalization
+SUMMARY_TAB_PENDING_FINALIZATION_VALUE={0} objects
+SUMMARY_TAB_TAB_NAME=VM Summary
+SUMMARY_TAB_VM_VERSION={0} version {1}
+THREADS=Threads
+THREAD_TAB_THREAD_INFO_ACCESSIBLE_NAME=Thread Information
+THREAD_TAB_THREAD_PLOTTER_ACCESSIBLE_NAME=Chart for number of threads.
+THRESHOLD=Threshold
+TILE=&Tile
+TIME_RANGE_COLON=&Time Range:
+TIME=Time
+TIME_STAMP=TimeStamp
+TOTAL_LOADED=Total Loaded
+TOTAL_CLASSES_LOADED=Total classes loaded
+TOTAL_CLASSES_UNLOADED=Total classes unloaded
+TOTAL_COMPILE_TIME=Total compile time
+TOTAL_PHYSICAL_MEMORY=Total physical memory
+TOTAL_THREADS_STARTED=Total threads started
+TOTAL_SWAP_SPACE=Total swap space
+TYPE=Type
+UNAVAILABLE=Unavailable
+UNKNOWN_CAPITALIZED=UNKNOWN
+UNKNOWN_HOST=Unknown Host: {0}
+UNREGISTER=Unregister
+UPTIME=Uptime
+USAGE_THRESHOLD=Usage Threshold
+REMOTE_TF_USAGE=<b>Usage</b>: <hostname>:<port> OR service:jmx:<protocol>:<sap>
+USED=Used
+USERNAME_COLON_=&Username:
+USERNAME_ACCESSIBLE_NAME=User Name
+USER_DATA=UserData
+VIRTUAL_MACHINE=Virtual Machine
+VM_ARGUMENTS=VM arguments
+VMINTERNAL_FRAME_ACCESSIBLE_DESCRIPTION=Internal frame for monitoring a Java Virtual Machine
+VALUE=Value
+VENDOR=Vendor
+VERBOSE_OUTPUT=Verbose Output
+VERBOSE_OUTPUT_TOOLTIP=Enable verbose output for class loading system
+VIEW=View
+WINDOW=&Window
+WINDOWS=Windows
+WRITABLE=Writable
+CONNECTION_FAILED1=Connection Failed: Retry?
+CONNECTION_FAILED2=The connection to {0} did not succeed.<br>Would you like to try again?
+CONNECTION_LOST1=Connection Lost: Reconnect?
+CONNECTING_TO1=Connecting to {0}
+CONNECTING_TO2=You are currently being connected to {0}.<br>This will take a few moments.
+DEADLOCK_TAB=Deadlock
+DEADLOCK_TAB_N=Deadlock {0}
+EXPAND=expand
+KBYTES={0} kbytes
+PLOT=plot
+VISUALIZE=visualize
+ZZ_USAGE_TEXT=Usage: {0} [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ... ]\n\n -interval Set the update interval to n seconds (default is 4 seconds)\n -notile Do not tile windows initially (for two or more connections)\n -pluginpath Specify the path that jconsole uses to look up the plugins\n -version Print program version\n\n connection = pid || host:port || JMX URL (service:jmx:<protocol>://...)\n pid The process id of a target process\n host A remote host name or IP address\n port The port number for the remote connection\n\n -J Specify the input arguments to the Java virtual machine\n on which jconsole is running
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/tools/jconsole/resources/messages_ja.properties Fri May 25 12:24:57 2012 +0200
@@ -0,0 +1,273 @@
+ONE_DAY=\ 1\u65e5
+ONE_HOUR=\ 1\u6642\u9593
+ONE_MIN=\ 1\u5206
+ONE_MONTH=\ 1\u304b\u6708
+ONE_YEAR=\ 1\u5e74
+TWO_HOURS=\ 2\u6642\u9593
+THREE_HOURS=\ 3\u6642\u9593
+THREE_MONTHS=\ 3\u304b\u6708
+FIVE_MIN=\ 5\u5206
+SIX_HOURS=\ 6\u6642\u9593
+SIX_MONTHS=\ 6\u304b\u6708
+SEVEN_DAYS=\ 7\u65e5
+TEN_MIN=10\u5206
+TWELVE_HOURS=12\u6642\u9593
+THIRTY_MIN=30\u5206
+LESS_THAN=<
+A_LOT_LESS_THAN=<<
+GREATER_THAN=>
+ACTION_CAPITALIZED=ACTION
+ACTION_INFO_CAPITALIZED=ACTION_INFO
+ALL=\u3059\u3079\u3066
+ARCHITECTURE=\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3
+ATTRIBUTE=\u5c5e\u6027
+ATTRIBUTE_VALUE=\u5c5e\u6027\u5024
+ATTRIBUTE_VALUES=\u5c5e\u6027\u5024
+ATTRIBUTES=\u5c5e\u6027
+BLANK=\u30d6\u30e9\u30f3\u30af
+BLOCKED_COUNT_WAITED_COUNT=\u30d6\u30ed\u30c3\u30af\u6e08\u5408\u8a08: {0} \u5f85\u6a5f\u6e08\u5408\u8a08: {1}\n
+BOOT_CLASS_PATH=\u30d6\u30fc\u30c8\u30fb\u30af\u30e9\u30b9\u30d1\u30b9
+BORDERED_COMPONENT_MORE_OR_LESS_BUTTON_TOOLTIP=\u8868\u793a\u3059\u308b\u60c5\u5831\u91cf\u3092\u5897\u6e1b\u3059\u308b\u30c8\u30b0\u30eb
+CPU_USAGE=CPU\u4f7f\u7528\u7387
+CPU_USAGE_FORMAT=CPU\u4f7f\u7528\u7387: {0}%
+CANCEL=\u53d6\u6d88
+CASCADE=\u91cd\u306d\u3066\u8868\u793a(&C)
+CHART_COLON=\u30c1\u30e3\u30fc\u30c8(&C):
+CLASS_PATH=\u30af\u30e9\u30b9\u30d1\u30b9
+CLASS_NAME=ClassName
+CLASS_TAB_INFO_LABEL_FORMAT=<html>\u30ed\u30fc\u30c9\u6e08: {0} \u672a\u30ed\u30fc\u30c9: {1} \u5408\u8a08: {2}</html>
+CLASS_TAB_LOADED_CLASSES_PLOTTER_ACCESSIBLE_NAME=\u30ed\u30fc\u30c9\u6e08\u30af\u30e9\u30b9\u306e\u30c1\u30e3\u30fc\u30c8\u3002
+CLASSES=\u30af\u30e9\u30b9
+CLOSE=\u9589\u3058\u308b
+COLUMN_NAME=\u540d\u524d
+COLUMN_PID=PID
+COMMITTED_MEMORY=\u30b3\u30df\u30c3\u30c8\u6e08\u30e1\u30e2\u30ea\u30fc
+COMMITTED_VIRTUAL_MEMORY=\u30b3\u30df\u30c3\u30c8\u6e08\u4eee\u60f3\u30e1\u30e2\u30ea\u30fc
+COMMITTED=\u30b3\u30df\u30c3\u30c8\u6e08
+CONNECT=\u63a5\u7d9a(&C)
+CONNECT_DIALOG_CONNECT_BUTTON_TOOLTIP=Java\u4eee\u60f3\u30de\u30b7\u30f3\u306b\u63a5\u7d9a
+CONNECT_DIALOG_ACCESSIBLE_DESCRIPTION=\u30ed\u30fc\u30ab\u30eb\u307e\u305f\u306f\u30ea\u30e2\u30fc\u30c8\u306eJava\u4eee\u60f3\u30de\u30b7\u30f3\u3078\u306e\u65b0\u898f\u63a5\u7d9a\u3092\u884c\u3046\u30c0\u30a4\u30a2\u30ed\u30b0
+CONNECT_DIALOG_MASTHEAD_ACCESSIBLE_NAME=\u30de\u30b9\u30c8\u30d8\u30c3\u30c9\u56f3\u5f62
+CONNECT_DIALOG_MASTHEAD_TITLE=\u65b0\u898f\u63a5\u7d9a
+CONNECT_DIALOG_STATUS_BAR_ACCESSIBLE_NAME=\u30b9\u30c6\u30fc\u30bf\u30b9\u30fb\u30d0\u30fc
+CONNECT_DIALOG_TITLE=JConsole: \u65b0\u898f\u63a5\u7d9a
+CONNECTED_PUNCTUATION_CLICK_TO_DISCONNECT_=\u63a5\u7d9a\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u5207\u65ad\u3057\u307e\u3059\u3002
+CONNECTION_FAILED=\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f
+CONNECTION=\u63a5\u7d9a(&C)
+CONNECTION_NAME=\u63a5\u7d9a\u540d
+CONNECTION_NAME__DISCONNECTED_={0} (\u5207\u65ad\u6e08)
+CONSTRUCTOR=\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf
+CURRENT_CLASSES_LOADED=\u30ed\u30fc\u30c9\u6e08\u306e\u73fe\u5728\u306e\u30af\u30e9\u30b9
+CURRENT_HEAP_SIZE=\u73fe\u5728\u306e\u30d2\u30fc\u30d7\u30fb\u30b5\u30a4\u30ba
+CURRENT_VALUE=\u73fe\u5728\u5024: {0}
+CREATE=\u4f5c\u6210
+DAEMON_THREADS=\u30c7\u30fc\u30e2\u30f3\u30fb\u30b9\u30ec\u30c3\u30c9
+DISCONNECTED_PUNCTUATION_CLICK_TO_CONNECT_=\u5207\u65ad\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u63a5\u7d9a\u3057\u307e\u3059\u3002
+DOUBLE_CLICK_TO_EXPAND_FORWARD_SLASH_COLLAPSE=\u5c55\u958b\u307e\u305f\u306f\u7e2e\u5c0f\u3059\u308b\u306b\u306f\u30c0\u30d6\u30eb\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044
+DOUBLE_CLICK_TO_VISUALIZE=\u8996\u899a\u5316\u3059\u308b\u306b\u306f\u30c0\u30d6\u30eb\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044
+DESCRIPTION=\u8aac\u660e
+DESCRIPTOR=\u8a18\u8ff0\u5b50
+DETAILS=\u8a73\u7d30
+DETECT_DEADLOCK=\u30c7\u30c3\u30c9\u30ed\u30c3\u30af\u306e\u691c\u51fa(&D)
+DETECT_DEADLOCK_TOOLTIP=\u30c7\u30c3\u30c9\u30ed\u30c3\u30af\u6e08\u30b9\u30ec\u30c3\u30c9\u306e\u691c\u51fa
+DIMENSION_IS_NOT_SUPPORTED_COLON=\u6b21\u5143\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093:
+DISCARD_CHART=\u30c1\u30e3\u30fc\u30c8\u306e\u7834\u68c4
+DURATION_DAYS_HOURS_MINUTES={0,choice,1#{0,number,integer}\u65e5|1.0<{0,number,integer}\u65e5}{1,choice,0<{1,number,integer}\u6642\u9593|1#{1,number,integer}\u6642\u9593|1<{1,number,integer}\u6642\u9593}{2,choice,0<{2,number,integer}\u5206|1#{2,number,integer}\u5206|1.0<{2,number,integer}\u5206}
+DURATION_HOURS_MINUTES={0,choice,1#{0,number,integer}\u6642\u9593|1<{0,number,integer}\u6642\u9593}{1,choice,0<{1,number,integer}\u5206|1#{1,number,integer}\u5206|1.0<{1,number,integer}\u5206}
+DURATION_MINUTES={0,choice,1#{0,number,integer}\u5206|1.0<{0,number,integer}\u5206}
+DURATION_SECONDS={0}\u79d2
+EMPTY_ARRAY=\u7a7a\u306e\u914d\u5217
+ERROR=\u30a8\u30e9\u30fc
+ERROR_COLON_MBEANS_ALREADY_EXIST=\u30a8\u30e9\u30fc: MBeans\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059
+ERROR_COLON_MBEANS_DO_NOT_EXIST=\u30a8\u30e9\u30fc: MBeans\u306f\u5b58\u5728\u3057\u307e\u305b\u3093
+EVENT=\u30a4\u30d9\u30f3\u30c8
+EXIT=\u7d42\u4e86(&X)
+FAIL_TO_LOAD_PLUGIN=\u8b66\u544a: \u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u30ed\u30fc\u30c9\u306b\u5931\u6557\u3057\u307e\u3057\u305f: {0}
+FILE_CHOOSER_FILE_EXISTS_CANCEL_OPTION=\u53d6\u6d88
+FILE_CHOOSER_FILE_EXISTS_MESSAGE=<html><center>\u30d5\u30a1\u30a4\u30eb\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u3066\u3044\u307e\u3059:<br>{0}<br>\u7f6e\u63db\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b\u3002
+FILE_CHOOSER_FILE_EXISTS_OK_OPTION=\u7f6e\u63db
+FILE_CHOOSER_FILE_EXISTS_TITLE=\u30d5\u30a1\u30a4\u30eb\u304c\u5b58\u5728\u3057\u3066\u3044\u307e\u3059
+FILE_CHOOSER_SAVED_FILE=<html>\u30d5\u30a1\u30a4\u30eb\u306b\u4fdd\u5b58\u3057\u307e\u3057\u305f:<br>{0}<br>({1}\u30d0\u30a4\u30c8)
+FILE_CHOOSER_SAVE_FAILED_MESSAGE=<html><center>\u30d5\u30a1\u30a4\u30eb\u3078\u306e\u4fdd\u5b58\u306b\u5931\u6557\u3057\u307e\u3057\u305f:<br>{0}<br>{1}
+FILE_CHOOSER_SAVE_FAILED_TITLE=\u4fdd\u5b58\u306b\u5931\u6557\u3057\u307e\u3057\u305f
+FREE_PHYSICAL_MEMORY=\u7a7a\u304d\u7269\u7406\u30e1\u30e2\u30ea\u30fc
+FREE_SWAP_SPACE=\u7a7a\u304d\u30b9\u30ef\u30c3\u30d7\u30fb\u30b9\u30da\u30fc\u30b9
+GARBAGE_COLLECTOR=\u30ac\u30d9\u30fc\u30b8\u30fb\u30b3\u30ec\u30af\u30bf
+GC_INFO=\u540d\u524d= ''{0}''\u3001\u30b3\u30ec\u30af\u30b7\u30e7\u30f3= {1,choice,-1#\u3042\u308a\u307e\u305b\u3093|0#{1,number,integer}\u500b}\u3001\u5408\u8a08\u6d88\u8cbb\u6642\u9593= {2}
+GC_TIME=GC\u6642\u9593
+GC_TIME_DETAILS={1}\u3067{0} ({2}\u500b\u306e\u30b3\u30ec\u30af\u30b7\u30e7\u30f3)
+HEAP_MEMORY_USAGE=\u30d2\u30fc\u30d7\u30fb\u30e1\u30e2\u30ea\u30fc\u4f7f\u7528\u7387
+HEAP=\u30d2\u30fc\u30d7
+HELP_ABOUT_DIALOG_ACCESSIBLE_DESCRIPTION=JConsole\u3068JDK\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u3064\u3044\u3066\u306e\u60c5\u5831\u3092\u542b\u3080\u30c0\u30a4\u30a2\u30ed\u30b0
+HELP_ABOUT_DIALOG_JCONSOLE_VERSION=JConsole\u30d0\u30fc\u30b8\u30e7\u30f3:<br>{0}
+HELP_ABOUT_DIALOG_JAVA_VERSION=Java VM\u30d0\u30fc\u30b8\u30e7\u30f3:<br>{0}
+HELP_ABOUT_DIALOG_MASTHEAD_ACCESSIBLE_NAME=\u30de\u30b9\u30c8\u30d8\u30c3\u30c9\u56f3\u5f62
+HELP_ABOUT_DIALOG_MASTHEAD_TITLE=JConsole\u306b\u3064\u3044\u3066
+HELP_ABOUT_DIALOG_TITLE=JConsole: \u8a73\u7d30
+HELP_ABOUT_DIALOG_USER_GUIDE_LINK=JConsole\u30e6\u30fc\u30b6\u30fc\u30fb\u30ac\u30a4\u30c9(&U):<br>{0}
+HELP_ABOUT_DIALOG_USER_GUIDE_LINK_URL=http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html
+HELP_MENU_ABOUT_TITLE=JConsole\u306b\u3064\u3044\u3066(&A)
+HELP_MENU_USER_GUIDE_TITLE=\u30aa\u30f3\u30e9\u30a4\u30f3\u30fb\u30e6\u30fc\u30b6\u30fc\u30fb\u30ac\u30a4\u30c9(&U)
+HELP_MENU_TITLE=\u30d8\u30eb\u30d7(&H)
+HOTSPOT_MBEANS_ELLIPSIS=Hotspot MBeans(&H)...
+HOTSPOT_MBEANS_DIALOG_ACCESSIBLE_DESCRIPTION=Hotspot MBeans\u306e\u7ba1\u7406\u7528\u30c0\u30a4\u30a2\u30ed\u30b0
+IMPACT=\u5f71\u97ff
+INFO=\u60c5\u5831
+INFO_CAPITALIZED=\u60c5\u5831
+INVALID_PLUGIN_PATH=\u8b66\u544a: \u7121\u52b9\u306a\u30d7\u30e9\u30b0\u30a4\u30f3\u30fb\u30d1\u30b9: {0}
+INVALID_URL=\u7121\u52b9\u306aURL: {0}
+IS=\u6b21\u306b\u4e00\u81f4\u3059\u308b
+JAVA_MONITORING___MANAGEMENT_CONSOLE=Java Monitoring && Management Console
+JCONSOLE_COLON_=JConsole: {0}
+JCONSOLE_VERSION=JConsole\u30d0\u30fc\u30b8\u30e7\u30f3"{0}"
+JCONSOLE_ACCESSIBLE_DESCRIPTION=Java Monitoring && Management Console
+JIT_COMPILER=JIT\u30b3\u30f3\u30d1\u30a4\u30e9
+LIBRARY_PATH=\u30e9\u30a4\u30d6\u30e9\u30ea\u30fb\u30d1\u30b9
+LIVE_THREADS=\u5b9f\u884c\u4e2d\u306e\u30b9\u30ec\u30c3\u30c9
+LOADED=\u30ed\u30fc\u30c9\u6e08
+LOCAL_PROCESS_COLON=\u30ed\u30fc\u30ab\u30eb\u30fb\u30d7\u30ed\u30bb\u30b9(&L):
+MASTHEAD_FONT=Dialog-PLAIN-25
+MANAGEMENT_NOT_ENABLED=<b>\u6ce8\u610f</b>: \u7ba1\u7406\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306f\u3053\u306e\u30d7\u30ed\u30bb\u30b9\u3067\u306f\u6709\u52b9\u5316\u3055\u308c\u307e\u305b\u3093\u3002
+MANAGEMENT_WILL_BE_ENABLED=<b>\u6ce8\u610f</b>: \u7ba1\u7406\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306f\u3053\u306e\u30d7\u30ed\u30bb\u30b9\u3067\u6709\u52b9\u5316\u3055\u308c\u307e\u3059\u3002
+MBEAN_ATTRIBUTE_INFO=MBeanAttributeInfo
+MBEAN_INFO=MBeanInfo
+MBEAN_NOTIFICATION_INFO=MBeanNotificationInfo
+MBEAN_OPERATION_INFO=MBeanOperationInfo
+MBEANS=MBeans
+MBEANS_TAB_CLEAR_NOTIFICATIONS_BUTTON=\u30af\u30ea\u30a2(&C)
+MBEANS_TAB_CLEAR_NOTIFICATIONS_BUTTON_TOOLTIP=\u901a\u77e5\u306e\u30af\u30ea\u30a2
+MBEANS_TAB_COMPOSITE_NAVIGATION_MULTIPLE=\u30b3\u30f3\u30dd\u30b8\u30c3\u30c8\u30fb\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3{0}/{1}
+MBEANS_TAB_COMPOSITE_NAVIGATION_SINGLE=\u30b3\u30f3\u30dd\u30b8\u30c3\u30c8\u30fb\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3
+MBEANS_TAB_REFRESH_ATTRIBUTES_BUTTON=\u30ea\u30d5\u30ec\u30c3\u30b7\u30e5(&R)
+MBEANS_TAB_REFRESH_ATTRIBUTES_BUTTON_TOOLTIP=\u5c5e\u6027\u306e\u30ea\u30d5\u30ec\u30c3\u30b7\u30e5
+MBEANS_TAB_SUBSCRIBE_NOTIFICATIONS_BUTTON=\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d6(&S)
+MBEANS_TAB_SUBSCRIBE_NOTIFICATIONS_BUTTON_TOOLTIP=\u901a\u77e5\u30ea\u30b9\u30cb\u30f3\u30b0\u306e\u958b\u59cb
+MBEANS_TAB_TABULAR_NAVIGATION_MULTIPLE=\u30bf\u30d6\u30fb\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3{0}/{1}
+MBEANS_TAB_TABULAR_NAVIGATION_SINGLE=\u30bf\u30d6\u30fb\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3
+MBEANS_TAB_UNSUBSCRIBE_NOTIFICATIONS_BUTTON=\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d6\u89e3\u9664(&U)
+MBEANS_TAB_UNSUBSCRIBE_NOTIFICATIONS_BUTTON_TOOLTIP=\u901a\u77e5\u30ea\u30b9\u30cb\u30f3\u30b0\u306e\u505c\u6b62
+MANAGE_HOTSPOT_MBEANS_IN_COLON_=Hotspot MBeans\u306e\u7ba1\u7406:
+MAX=\u6700\u5927
+MAXIMUM_HEAP_SIZE=\u6700\u5927\u30d2\u30fc\u30d7\u30fb\u30b5\u30a4\u30ba
+MEMORY=\u30e1\u30e2\u30ea\u30fc
+MEMORY_POOL_LABEL=\u30e1\u30e2\u30ea\u30fc\u30fb\u30d7\u30fc\u30eb"{0}"
+MEMORY_TAB_HEAP_PLOTTER_ACCESSIBLE_NAME=\u30d2\u30fc\u30d7\u7528\u306e\u30e1\u30e2\u30ea\u30fc\u4f7f\u7528\u7387\u30c1\u30e3\u30fc\u30c8\u3002
+MEMORY_TAB_INFO_LABEL_FORMAT=<html>\u4f7f\u7528\u6e08: {0} \u30b3\u30df\u30c3\u30c8\u6e08: {1} \u6700\u5927: {2}</html>
+MEMORY_TAB_NON_HEAP_PLOTTER_ACCESSIBLE_NAME=\u975e\u30d2\u30fc\u30d7\u7528\u306e\u30e1\u30e2\u30ea\u30fc\u4f7f\u7528\u7387\u30c1\u30e3\u30fc\u30c8\u3002
+MEMORY_TAB_POOL_CHART_ABOVE_THRESHOLD={0}\u306e\u3057\u304d\u3044\u5024\u3088\u308a\u4e0a\u3067\u3059\u3002\n
+MEMORY_TAB_POOL_CHART_ACCESSIBLE_NAME=\u30e1\u30e2\u30ea\u30fc\u30fb\u30d7\u30fc\u30eb\u4f7f\u7528\u7387\u30c1\u30e3\u30fc\u30c8\u3002
+MEMORY_TAB_POOL_CHART_BELOW_THRESHOLD={0}\u306e\u3057\u304d\u3044\u5024\u3088\u308a\u4e0b\u3067\u3059\u3002\n
+MEMORY_TAB_POOL_PLOTTER_ACCESSIBLE_NAME={0}\u306e\u30e1\u30e2\u30ea\u30fc\u4f7f\u7528\u7387\u30c1\u30e3\u30fc\u30c8\u3002
+MESSAGE=\u30e1\u30c3\u30bb\u30fc\u30b8
+METHOD_SUCCESSFULLY_INVOKED=\u30e1\u30bd\u30c3\u30c9\u304c\u6b63\u5e38\u306b\u8d77\u52d5\u3055\u308c\u307e\u3057\u305f
+MINIMIZE_ALL=\u3059\u3079\u3066\u6700\u5c0f\u5316(&M)
+MONITOR_LOCKED=\ \ \ - \u30ed\u30c3\u30af\u6e08{0}\n
+NAME=\u540d\u524d
+NAME_AND_BUILD={0} (\u30d3\u30eb\u30c9{1})
+NAME_STATE=\u540d\u524d: {0}\n\u72b6\u614b: {1}\n
+NAME_STATE_LOCK_NAME=\u540d\u524d: {0}\n\u72b6\u614b: {2}\u306e{1}\n
+NAME_STATE_LOCK_NAME_LOCK_OWNER=\u540d\u524d: {0}\n\u72b6\u614b: {2}\u306e{1}\u3001\u6240\u6709\u8005: {3}\n
+NEW_CONNECTION_ELLIPSIS=\u65b0\u898f\u63a5\u7d9a(&N)...
+NO_DEADLOCK_DETECTED=\u30c7\u30c3\u30c9\u30ed\u30c3\u30af\u304c\u691c\u51fa\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f
+NON_HEAP_MEMORY_USAGE=\u975e\u30d2\u30fc\u30d7\u30fb\u30e1\u30e2\u30ea\u30fc\u4f7f\u7528\u7387
+NON_HEAP=\u975e\u30d2\u30fc\u30d7
+NOTIFICATION=\u901a\u77e5
+NOTIFICATION_BUFFER=\u901a\u77e5\u30d0\u30c3\u30d5\u30a1
+NOTIFICATIONS=\u901a\u77e5
+NOTIF_TYPES=NotifTypes
+NUMBER_OF_THREADS=\u30b9\u30ec\u30c3\u30c9\u6570
+NUMBER_OF_LOADED_CLASSES=\u30ed\u30fc\u30c9\u6e08\u30af\u30e9\u30b9\u6570
+NUMBER_OF_PROCESSORS=\u30d7\u30ed\u30bb\u30c3\u30b5\u6570
+OBJECT_NAME=ObjectName
+OPERATING_SYSTEM=\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30fb\u30b7\u30b9\u30c6\u30e0
+OPERATION=\u64cd\u4f5c
+OPERATION_INVOCATION=\u64cd\u4f5c\u306e\u547c\u51fa\u3057
+OPERATION_RETURN_VALUE=\u64cd\u4f5c\u306e\u623b\u308a\u5024
+OPERATIONS=\u64cd\u4f5c
+OVERVIEW=\u6982\u8981
+OVERVIEW_PANEL_PLOTTER_ACCESSIBLE_NAME={0}\u306e\u30c1\u30e3\u30fc\u30c8\u3002
+PARAMETER=\u30d1\u30e9\u30e1\u30fc\u30bf
+PASSWORD_ACCESSIBLE_NAME=\u30d1\u30b9\u30ef\u30fc\u30c9
+PASSWORD_COLON_=\u30d1\u30b9\u30ef\u30fc\u30c9(P):
+PEAK=\u30d4\u30fc\u30af
+PERFORM_GC=GC\u306e\u5b9f\u884c(G)
+PERFORM_GC_TOOLTIP=\u30ac\u30d9\u30fc\u30b8\u30fb\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u306e\u30ea\u30af\u30a8\u30b9\u30c8
+PLOTTER_ACCESSIBLE_NAME=\u30c1\u30e3\u30fc\u30c8
+PLOTTER_ACCESSIBLE_NAME_KEY_AND_VALUE={0}={1}\n
+PLOTTER_ACCESSIBLE_NAME_NO_DATA=\u30c7\u30fc\u30bf\u304c\u30d7\u30ed\u30c3\u30c8\u3055\u308c\u307e\u305b\u3093\u3002
+PLOTTER_SAVE_AS_MENU_ITEM=\u540d\u524d\u3092\u4ed8\u3051\u3066\u30c7\u30fc\u30bf\u3092\u4fdd\u5b58(&A)...
+PLOTTER_TIME_RANGE_MENU=\u6642\u9593\u7bc4\u56f2(&T)
+PROBLEM_ADDING_LISTENER=\u30ea\u30b9\u30ca\u30fc\u8ffd\u52a0\u4e2d\u306e\u554f\u984c
+PROBLEM_DISPLAYING_MBEAN=MBean\u8868\u793a\u4e2d\u306e\u554f\u984c
+PROBLEM_INVOKING=\u547c\u51fa\u3057\u4e2d\u306e\u554f\u984c
+PROBLEM_REMOVING_LISTENER=\u30ea\u30b9\u30ca\u30fc\u524a\u9664\u4e2d\u306e\u554f\u984c
+PROBLEM_SETTING_ATTRIBUTE=\u5c5e\u6027\u8a2d\u5b9a\u4e2d\u306e\u554f\u984c
+PROCESS_CPU_TIME=\u30d7\u30ed\u30bb\u30b9CPU\u6642\u9593
+READABLE=\u8aad\u53d6\u308a\u53ef\u80fd
+RECONNECT=\u518d\u63a5\u7d9a
+REMOTE_PROCESS_COLON=\u30ea\u30e2\u30fc\u30c8\u30fb\u30d7\u30ed\u30bb\u30b9(&R):
+REMOTE_PROCESS_TEXT_FIELD_ACCESSIBLE_NAME=\u30ea\u30e2\u30fc\u30c8\u30fb\u30d7\u30ed\u30bb\u30b9
+RESTORE_ALL=\u3059\u3079\u3066\u5fa9\u5143(&R)
+RETURN_TYPE=ReturnType
+SEQ_NUM=SeqNum
+SIZE_BYTES={0,number,integer}\u30d0\u30a4\u30c8
+SIZE_GB={0} Gb
+SIZE_KB={0} Kb
+SIZE_MB={0} Mb
+SOURCE=\u30bd\u30fc\u30b9
+STACK_TRACE=\n\u30b9\u30bf\u30c3\u30af\u30fb\u30c8\u30ec\u30fc\u30b9: \n
+SUMMARY_TAB_HEADER_DATE_TIME_FORMAT=FULL,FULL
+SUMMARY_TAB_PENDING_FINALIZATION_LABEL=\u30d5\u30a1\u30a4\u30ca\u30e9\u30a4\u30ba\u306e\u30da\u30f3\u30c7\u30a3\u30f3\u30b0
+SUMMARY_TAB_PENDING_FINALIZATION_VALUE={0}\u500b\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8
+SUMMARY_TAB_TAB_NAME=VM\u30b5\u30de\u30ea\u30fc
+SUMMARY_TAB_VM_VERSION={0}\u30d0\u30fc\u30b8\u30e7\u30f3{1}
+THREADS=\u30b9\u30ec\u30c3\u30c9
+THREAD_TAB_THREAD_INFO_ACCESSIBLE_NAME=\u30b9\u30ec\u30c3\u30c9\u60c5\u5831
+THREAD_TAB_THREAD_PLOTTER_ACCESSIBLE_NAME=\u30b9\u30ec\u30c3\u30c9\u6570\u306e\u30c1\u30e3\u30fc\u30c8\u3002
+THRESHOLD=\u3057\u304d\u3044\u5024
+TILE=\u4e26\u3079\u3066\u8868\u793a(&T)
+TIME_RANGE_COLON=\u6642\u9593\u7bc4\u56f2(&T):
+TIME=\u6642\u9593
+TIME_STAMP=TimeStamp
+TOTAL_LOADED=\u30ed\u30fc\u30c9\u6e08\u5408\u8a08
+TOTAL_CLASSES_LOADED=\u30ed\u30fc\u30c9\u6e08\u30af\u30e9\u30b9\u5408\u8a08
+TOTAL_CLASSES_UNLOADED=\u30a2\u30f3\u30ed\u30fc\u30c9\u6e08\u30af\u30e9\u30b9\u5408\u8a08
+TOTAL_COMPILE_TIME=\u5408\u8a08\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u9593
+TOTAL_PHYSICAL_MEMORY=\u5408\u8a08\u7269\u7406\u30e1\u30e2\u30ea\u30fc
+TOTAL_THREADS_STARTED=\u958b\u59cb\u6e08\u5408\u8a08\u30b9\u30ec\u30c3\u30c9
+TOTAL_SWAP_SPACE=\u5408\u8a08\u30b9\u30ef\u30c3\u30d7\u30fb\u30b9\u30da\u30fc\u30b9
+TYPE=\u578b
+UNAVAILABLE=\u5229\u7528\u4e0d\u53ef
+UNKNOWN_CAPITALIZED=UNKNOWN
+UNKNOWN_HOST=\u4e0d\u660e\u306a\u30db\u30b9\u30c8: {0}
+UNREGISTER=\u767b\u9332\u89e3\u9664
+UPTIME=\u7a3c\u50cd\u6642\u9593
+USAGE_THRESHOLD=\u4f7f\u7528\u3057\u304d\u3044\u5024
+REMOTE_TF_USAGE=<b>\u4f7f\u7528\u65b9\u6cd5</b>: <hostname>:<port>\u307e\u305f\u306fservice:jmx:<protocol>:<sap>
+USED=\u4f7f\u7528\u6e08
+USERNAME_COLON_=\u30e6\u30fc\u30b6\u30fc\u540d(&U):
+USERNAME_ACCESSIBLE_NAME=\u30e6\u30fc\u30b6\u30fc\u540d
+USER_DATA=UserData
+VIRTUAL_MACHINE=\u4eee\u60f3\u30de\u30b7\u30f3
+VM_ARGUMENTS=VM\u5f15\u6570
+VMINTERNAL_FRAME_ACCESSIBLE_DESCRIPTION=Java\u4eee\u60f3\u30de\u30b7\u30f3\u306e\u30e2\u30cb\u30bf\u30fc\u7528\u306e\u5185\u90e8\u30d5\u30ec\u30fc\u30e0
+VALUE=\u5024
+VENDOR=\u30d9\u30f3\u30c0\u30fc
+VERBOSE_OUTPUT=\u8a73\u7d30\u51fa\u529b
+VERBOSE_OUTPUT_TOOLTIP=\u30af\u30e9\u30b9\u8aad\u8fbc\u307f\u30b7\u30b9\u30c6\u30e0\u3067\u8a73\u7d30\u51fa\u529b\u3092\u6709\u52b9\u306b\u3059\u308b
+VIEW=\u8868\u793a
+WINDOW=\u30a6\u30a3\u30f3\u30c9\u30a6(&W)
+WINDOWS=\u30a6\u30a3\u30f3\u30c9\u30a6
+WRITABLE=\u66f8\u8fbc\u307f\u53ef\u80fd
+CONNECTION_FAILED1=\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f: \u518d\u8a66\u884c\u3057\u307e\u3059\u304b\u3002
+CONNECTION_FAILED2={0}\u3078\u306e\u63a5\u7d9a\u304c\u6210\u529f\u3057\u307e\u305b\u3093\u3067\u3057\u305f\u3002<br>\u3082\u3046\u4e00\u5ea6\u8a66\u3057\u307e\u3059\u304b\u3002
+CONNECTION_LOST1=\u63a5\u7d9a\u304c\u5931\u308f\u308c\u307e\u3057\u305f: \u518d\u63a5\u7d9a\u3057\u307e\u3059\u304b\u3002
+CONNECTING_TO1={0}\u306b\u63a5\u7d9a\u4e2d
+CONNECTING_TO2={0}\u306b\u73fe\u5728\u63a5\u7d9a\u4e2d\u3067\u3059\u3002<br>\u3053\u308c\u306b\u306f\u6570\u5206\u304b\u304b\u308a\u307e\u3059\u3002
+DEADLOCK_TAB=\u30c7\u30c3\u30c9\u30ed\u30c3\u30af
+DEADLOCK_TAB_N=\u30c7\u30c3\u30c9\u30ed\u30c3\u30af{0}
+EXPAND=\u5c55\u958b
+KBYTES={0} KB
+PLOT=\u30d7\u30ed\u30c3\u30c8
+VISUALIZE=\u8996\u899a\u5316
+ZZ_USAGE_TEXT=\u4f7f\u7528\u65b9\u6cd5: {0} [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ... ]\n\n -interval \u66f4\u65b0\u9593\u9694\u3092n\u79d2\u306b\u8a2d\u5b9a\u3059\u308b(\u30c7\u30d5\u30a9\u30eb\u30c8\u306f4\u79d2)\n -notile \u30a6\u30a3\u30f3\u30c9\u30a6\u3092\u6700\u521d\u306b\u4e26\u3079\u3066\u8868\u793a\u3057\u306a\u3044(2\u3064\u4ee5\u4e0a\u306e\u63a5\u7d9a\u306b\u3064\u3044\u3066)\n -pluginpath JConsole\u304c\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u53c2\u7167\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3059\u308b\u30d1\u30b9\u3092\u6307\u5b9a\u3059\u308b\n -version \u30d7\u30ed\u30b0\u30e9\u30e0\u30fb\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u5370\u5237\u3059\u308b\n\n connection = pid || host:port || JMX URL (service:jmx:<protocol>://...)\n pid \u30bf\u30fc\u30b2\u30c3\u30c8\u30fb\u30d7\u30ed\u30bb\u30b9\u306e\u30d7\u30ed\u30bb\u30b9ID\n host \u30ea\u30e2\u30fc\u30c8\u30fb\u30db\u30b9\u30c8\u540d\u307e\u305f\u306fIP\u30a2\u30c9\u30ec\u30b9\n port \u30ea\u30e2\u30fc\u30c8\u63a5\u7d9a\u7528\u306e\u30dd\u30fc\u30c8\u756a\u53f7\n\n -J JConsole\u304c\u5b9f\u884c\u4e2d\u306eJava\u4eee\u60f3\u30de\u30b7\u30f3\u3078\u306e\n \u5165\u529b\u5f15\u6570\u3092\u6307\u5b9a\u3059\u308b
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/tools/jconsole/resources/messages_zh_CN.properties Fri May 25 12:24:57 2012 +0200
@@ -0,0 +1,273 @@
+ONE_DAY=\ 1 \u5929
+ONE_HOUR=\ 1 \u5c0f\u65f6
+ONE_MIN=\ 1 \u5206\u949f
+ONE_MONTH=\ 1 \u4e2a\u6708
+ONE_YEAR=\ 1 \u5e74
+TWO_HOURS=\ 2 \u5c0f\u65f6
+THREE_HOURS=\ 3 \u5c0f\u65f6
+THREE_MONTHS=\ 3 \u4e2a\u6708
+FIVE_MIN=\ 5 \u5206\u949f
+SIX_HOURS=\ 6 \u5c0f\u65f6
+SIX_MONTHS=\ 6 \u4e2a\u6708
+SEVEN_DAYS=\ 7 \u5929
+TEN_MIN=10 \u5206\u949f
+TWELVE_HOURS=12 \u5c0f\u65f6
+THIRTY_MIN=30 \u5206\u949f
+LESS_THAN=<
+A_LOT_LESS_THAN=<<
+GREATER_THAN=>
+ACTION_CAPITALIZED=ACTION
+ACTION_INFO_CAPITALIZED=ACTION_INFO
+ALL=\u5168\u90e8
+ARCHITECTURE=\u4f53\u7cfb\u7ed3\u6784
+ATTRIBUTE=\u5c5e\u6027
+ATTRIBUTE_VALUE=\u5c5e\u6027\u503c
+ATTRIBUTE_VALUES=\u5c5e\u6027\u503c
+ATTRIBUTES=\u5c5e\u6027
+BLANK=\u7a7a\u767d
+BLOCKED_COUNT_WAITED_COUNT=\u603b\u963b\u6b62\u6570: {0}, \u603b\u7b49\u5f85\u6570: {1}\n
+BOOT_CLASS_PATH=\u5f15\u5bfc\u7c7b\u8def\u5f84
+BORDERED_COMPONENT_MORE_OR_LESS_BUTTON_TOOLTIP=\u5207\u6362\u4ee5\u663e\u793a\u66f4\u591a\u6216\u66f4\u5c11\u4fe1\u606f
+CPU_USAGE=CPU \u5360\u7528\u7387
+CPU_USAGE_FORMAT=CPU \u5360\u7528\u7387: {0}%
+CANCEL=\u53d6\u6d88
+CASCADE=\u5c42\u53e0(&C)
+CHART_COLON=\u56fe\u8868(&C):
+CLASS_PATH=\u7c7b\u8def\u5f84
+CLASS_NAME=ClassName
+CLASS_TAB_INFO_LABEL_FORMAT=<html>\u5df2\u52a0\u8f7d: {0} \u5df2\u5378\u8f7d: {1} \u603b\u8ba1: {2}</html>
+CLASS_TAB_LOADED_CLASSES_PLOTTER_ACCESSIBLE_NAME=\u5df2\u52a0\u8f7d\u7c7b\u7684\u56fe\u8868\u3002
+CLASSES=\u7c7b
+CLOSE=\u5173\u95ed
+COLUMN_NAME=\u540d\u79f0
+COLUMN_PID=PID
+COMMITTED_MEMORY=\u63d0\u4ea4\u7684\u5185\u5b58
+COMMITTED_VIRTUAL_MEMORY=\u63d0\u4ea4\u7684\u865a\u62df\u5185\u5b58
+COMMITTED=\u5df2\u63d0\u4ea4
+CONNECT=\u8fde\u63a5(&C)
+CONNECT_DIALOG_CONNECT_BUTTON_TOOLTIP=\u8fde\u63a5\u5230 Java \u865a\u62df\u673a
+CONNECT_DIALOG_ACCESSIBLE_DESCRIPTION=\u7528\u4e8e\u4e0e\u672c\u5730\u6216\u8fdc\u7a0b Java \u865a\u62df\u673a\u5efa\u7acb\u65b0\u8fde\u63a5\u7684\u5bf9\u8bdd\u6846
+CONNECT_DIALOG_MASTHEAD_ACCESSIBLE_NAME=\u62a5\u5934\u56fe
+CONNECT_DIALOG_MASTHEAD_TITLE=\u65b0\u5efa\u8fde\u63a5
+CONNECT_DIALOG_STATUS_BAR_ACCESSIBLE_NAME=\u72b6\u6001\u680f
+CONNECT_DIALOG_TITLE=JConsole: \u65b0\u5efa\u8fde\u63a5
+CONNECTED_PUNCTUATION_CLICK_TO_DISCONNECT_=\u5df2\u8fde\u63a5\u3002\u5355\u51fb\u53ef\u65ad\u5f00\u8fde\u63a5\u3002
+CONNECTION_FAILED=\u8fde\u63a5\u5931\u8d25
+CONNECTION=\u8fde\u63a5(&C)
+CONNECTION_NAME=\u8fde\u63a5\u540d\u79f0
+CONNECTION_NAME__DISCONNECTED_={0} (\u5df2\u65ad\u5f00\u8fde\u63a5)
+CONSTRUCTOR=\u6784\u9020\u5668
+CURRENT_CLASSES_LOADED=\u5df2\u52a0\u88c5\u5f53\u524d\u7c7b
+CURRENT_HEAP_SIZE=\u5f53\u524d\u5806\u5927\u5c0f
+CURRENT_VALUE=\u5f53\u524d\u503c: {0}
+CREATE=\u521b\u5efa
+DAEMON_THREADS=\u5b88\u62a4\u7a0b\u5e8f\u7ebf\u7a0b
+DISCONNECTED_PUNCTUATION_CLICK_TO_CONNECT_=\u5df2\u65ad\u5f00\u8fde\u63a5\u3002\u5355\u51fb\u53ef\u8fde\u63a5\u3002
+DOUBLE_CLICK_TO_EXPAND_FORWARD_SLASH_COLLAPSE=\u53cc\u51fb\u4ee5\u5c55\u5f00/\u9690\u85cf
+DOUBLE_CLICK_TO_VISUALIZE=\u53cc\u51fb\u4ee5\u4f7f\u5176\u53ef\u89c1
+DESCRIPTION=\u8bf4\u660e
+DESCRIPTOR=\u63cf\u8ff0\u7b26
+DETAILS=\u8be6\u7ec6\u8d44\u6599
+DETECT_DEADLOCK=\u68c0\u6d4b\u6b7b\u9501(&D)
+DETECT_DEADLOCK_TOOLTIP=\u68c0\u6d4b\u5904\u4e8e\u6b7b\u9501\u72b6\u6001\u7684\u7ebf\u7a0b
+DIMENSION_IS_NOT_SUPPORTED_COLON=\u4e0d\u652f\u6301\u7ef4:
+DISCARD_CHART=\u653e\u5f03\u56fe\u8868
+DURATION_DAYS_HOURS_MINUTES={0,choice,1#{0,number,integer} \u5929 |1.0<{0,number,integer} \u5929 }{1,choice,0<{1,number,integer} \u5c0f\u65f6 |1#{1,number,integer} \u5c0f\u65f6 |1<{1,number,integer} \u5c0f\u65f6 }{2,choice,0<{2,number,integer} \u5206\u949f|1#{2,number,integer} \u5206\u949f|1.0<{2,number,integer} \u5206\u949f}
+DURATION_HOURS_MINUTES={0,choice,1#{0,number,integer} \u5c0f\u65f6 |1<{0,number,integer} \u5c0f\u65f6 }{1,choice,0<{1,number,integer} \u5206\u949f|1#{1,number,integer} \u5206\u949f|1.0<{1,number,integer} \u5206\u949f}
+DURATION_MINUTES={0,choice,1#{0,number,integer} \u5206\u949f|1.0<{0,number,integer} \u5206\u949f}
+DURATION_SECONDS={0} \u79d2
+EMPTY_ARRAY=\u7a7a\u6570\u7ec4
+ERROR=\u9519\u8bef
+ERROR_COLON_MBEANS_ALREADY_EXIST=\u9519\u8bef: MBean \u5df2\u5b58\u5728
+ERROR_COLON_MBEANS_DO_NOT_EXIST=\u9519\u8bef: MBean \u4e0d\u5b58\u5728
+EVENT=\u4e8b\u4ef6
+EXIT=\u9000\u51fa(&X)
+FAIL_TO_LOAD_PLUGIN=\u8b66\u544a: \u65e0\u6cd5\u52a0\u8f7d\u63d2\u4ef6: {0}
+FILE_CHOOSER_FILE_EXISTS_CANCEL_OPTION=\u53d6\u6d88
+FILE_CHOOSER_FILE_EXISTS_MESSAGE=<html><center>\u6587\u4ef6\u5df2\u5b58\u5728:<br>{0}<br>\u662f\u5426\u8981\u66ff\u6362?
+FILE_CHOOSER_FILE_EXISTS_OK_OPTION=\u66ff\u6362
+FILE_CHOOSER_FILE_EXISTS_TITLE=\u6587\u4ef6\u5df2\u5b58\u5728
+FILE_CHOOSER_SAVED_FILE=<html>\u5df2\u4fdd\u5b58\u5230\u6587\u4ef6:<br>{0}<br>({1} \u5b57\u8282)
+FILE_CHOOSER_SAVE_FAILED_MESSAGE=<html><center>\u672a\u80fd\u4fdd\u5b58\u5230\u6587\u4ef6:<br>{0}<br>{1}
+FILE_CHOOSER_SAVE_FAILED_TITLE=\u4fdd\u5b58\u5931\u8d25
+FREE_PHYSICAL_MEMORY=\u7a7a\u95f2\u7269\u7406\u5185\u5b58
+FREE_SWAP_SPACE=\u7a7a\u95f2\u4ea4\u6362\u7a7a\u95f4
+GARBAGE_COLLECTOR=\u5783\u573e\u6536\u96c6\u5668
+GC_INFO=\u540d\u79f0 = ''{0}'', \u6536\u96c6 = {1,choice,-1#Unavailable|0#{1,number,integer}}, \u603b\u82b1\u8d39\u65f6\u95f4 = {2}
+GC_TIME=GC \u65f6\u95f4
+GC_TIME_DETAILS={1}\u4e0a\u7684{0} ({2}\u6536\u96c6)
+HEAP_MEMORY_USAGE=\u5806\u5185\u5b58\u4f7f\u7528\u91cf
+HEAP=\u5806
+HELP_ABOUT_DIALOG_ACCESSIBLE_DESCRIPTION=\u5305\u542b\u6709\u5173 JConsole \u548c JDK \u7248\u672c\u4fe1\u606f\u7684\u5bf9\u8bdd\u6846
+HELP_ABOUT_DIALOG_JCONSOLE_VERSION=JConsole \u7248\u672c:<br>{0}
+HELP_ABOUT_DIALOG_JAVA_VERSION=Java VM \u7248\u672c:<br>{0}
+HELP_ABOUT_DIALOG_MASTHEAD_ACCESSIBLE_NAME=\u62a5\u5934\u56fe
+HELP_ABOUT_DIALOG_MASTHEAD_TITLE=\u5173\u4e8e JConsole
+HELP_ABOUT_DIALOG_TITLE=JConsole: \u5173\u4e8e
+HELP_ABOUT_DIALOG_USER_GUIDE_LINK=JConsole \u7528\u6237\u6307\u5357(&U):<br>{0}
+HELP_ABOUT_DIALOG_USER_GUIDE_LINK_URL=http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html
+HELP_MENU_ABOUT_TITLE=\u5173\u4e8e JConsole(&A)
+HELP_MENU_USER_GUIDE_TITLE=\u8054\u673a\u7528\u6237\u6307\u5357(&U)
+HELP_MENU_TITLE=\u5e2e\u52a9(&H)
+HOTSPOT_MBEANS_ELLIPSIS=HotSpot MBean(&H)...
+HOTSPOT_MBEANS_DIALOG_ACCESSIBLE_DESCRIPTION=\u7528\u4e8e\u7ba1\u7406 HotSpot MBean \u7684\u5bf9\u8bdd\u6846
+IMPACT=\u5f71\u54cd
+INFO=\u4fe1\u606f
+INFO_CAPITALIZED=INFO
+INVALID_PLUGIN_PATH=\u8b66\u544a: \u63d2\u4ef6\u8def\u5f84\u65e0\u6548: {0}
+INVALID_URL=URL \u65e0\u6548: {0}
+IS=\u662f
+JAVA_MONITORING___MANAGEMENT_CONSOLE=Java \u76d1\u89c6\u548c\u7ba1\u7406\u63a7\u5236\u53f0
+JCONSOLE_COLON_=JConsole: {0}
+JCONSOLE_VERSION=JConsole \u7248\u672c "{0}"
+JCONSOLE_ACCESSIBLE_DESCRIPTION=Java \u76d1\u89c6\u548c\u7ba1\u7406\u63a7\u5236\u53f0
+JIT_COMPILER=JIT \u7f16\u8bd1\u5668
+LIBRARY_PATH=\u5e93\u8def\u5f84
+LIVE_THREADS=\u6d3b\u52a8\u7ebf\u7a0b
+LOADED=\u5df2\u52a0\u8f7d
+LOCAL_PROCESS_COLON=\u672c\u5730\u8fdb\u7a0b(&L):
+MASTHEAD_FONT=Dialog-PLAIN-25
+MANAGEMENT_NOT_ENABLED=<b>\u6ce8</b>: \u672a\u5bf9\u6b64\u8fdb\u7a0b\u542f\u7528\u7ba1\u7406\u4ee3\u7406\u3002
+MANAGEMENT_WILL_BE_ENABLED=<b>\u6ce8</b>: \u5c06\u5bf9\u6b64\u8fdb\u7a0b\u542f\u7528\u7ba1\u7406\u4ee3\u7406\u3002
+MBEAN_ATTRIBUTE_INFO=MBeanAttributeInfo
+MBEAN_INFO=MBeanInfo
+MBEAN_NOTIFICATION_INFO=MBeanNotificationInfo
+MBEAN_OPERATION_INFO=MBeanOperationInfo
+MBEANS=MBean
+MBEANS_TAB_CLEAR_NOTIFICATIONS_BUTTON=\u6e05\u9664(&C)
+MBEANS_TAB_CLEAR_NOTIFICATIONS_BUTTON_TOOLTIP=\u6e05\u9664\u901a\u77e5
+MBEANS_TAB_COMPOSITE_NAVIGATION_MULTIPLE=\u7ec4\u5408\u5bfc\u822a{0}/{1}
+MBEANS_TAB_COMPOSITE_NAVIGATION_SINGLE=\u7ec4\u5408\u5bfc\u822a
+MBEANS_TAB_REFRESH_ATTRIBUTES_BUTTON=\u5237\u65b0(&R)
+MBEANS_TAB_REFRESH_ATTRIBUTES_BUTTON_TOOLTIP=\u5237\u65b0\u5c5e\u6027
+MBEANS_TAB_SUBSCRIBE_NOTIFICATIONS_BUTTON=\u8ba2\u9605(&S)
+MBEANS_TAB_SUBSCRIBE_NOTIFICATIONS_BUTTON_TOOLTIP=\u5f00\u59cb\u76d1\u542c\u901a\u77e5
+MBEANS_TAB_TABULAR_NAVIGATION_MULTIPLE=\u8868\u683c\u5f0f\u5bfc\u822a{0}/{1}
+MBEANS_TAB_TABULAR_NAVIGATION_SINGLE=\u8868\u683c\u5f0f\u5bfc\u822a
+MBEANS_TAB_UNSUBSCRIBE_NOTIFICATIONS_BUTTON=\u53d6\u6d88\u8ba2\u9605(&U)
+MBEANS_TAB_UNSUBSCRIBE_NOTIFICATIONS_BUTTON_TOOLTIP=\u505c\u6b62\u76d1\u542c\u901a\u77e5
+MANAGE_HOTSPOT_MBEANS_IN_COLON_=\u7ba1\u7406\u4ee5\u4e0b\u4f4d\u7f6e\u7684 HotSpot MBean:
+MAX=\u6700\u5927\u503c
+MAXIMUM_HEAP_SIZE=\u6700\u5927\u5806\u5927\u5c0f
+MEMORY=\u5185\u5b58
+MEMORY_POOL_LABEL=\u5185\u5b58\u6c60 "{0}"
+MEMORY_TAB_HEAP_PLOTTER_ACCESSIBLE_NAME=\u5806\u7684\u5185\u5b58\u4f7f\u7528\u91cf\u56fe\u8868\u3002
+MEMORY_TAB_INFO_LABEL_FORMAT=<html>\u5df2\u7528: {0} \u5df2\u63d0\u4ea4: {1} \u6700\u5927: {2}</html>
+MEMORY_TAB_NON_HEAP_PLOTTER_ACCESSIBLE_NAME=\u975e\u5806\u7684\u5185\u5b58\u4f7f\u7528\u91cf\u56fe\u8868\u3002
+MEMORY_TAB_POOL_CHART_ABOVE_THRESHOLD=\u5927\u4e8e{0}\u7684\u9608\u503c\u3002\n
+MEMORY_TAB_POOL_CHART_ACCESSIBLE_NAME=\u5185\u5b58\u6c60\u4f7f\u7528\u91cf\u56fe\u8868\u3002
+MEMORY_TAB_POOL_CHART_BELOW_THRESHOLD=\u4f4e\u4e8e{0}\u7684\u9608\u503c\u3002\n
+MEMORY_TAB_POOL_PLOTTER_ACCESSIBLE_NAME={0}\u7684\u5185\u5b58\u4f7f\u7528\u91cf\u56fe\u8868\u3002
+MESSAGE=\u6d88\u606f
+METHOD_SUCCESSFULLY_INVOKED=\u5df2\u6210\u529f\u8c03\u7528\u65b9\u6cd5
+MINIMIZE_ALL=\u5168\u90e8\u6700\u5c0f\u5316(&M)
+MONITOR_LOCKED=\ \ \ - \u5df2\u9501\u5b9a{0}\n
+NAME=\u540d\u79f0
+NAME_AND_BUILD={0} (\u5de5\u4f5c\u7248\u672c {1})
+NAME_STATE=\u540d\u79f0: {0}\n\u72b6\u6001: {1}\n
+NAME_STATE_LOCK_NAME=\u540d\u79f0: {0}\n\u72b6\u6001: {2}\u4e0a\u7684{1}\n
+NAME_STATE_LOCK_NAME_LOCK_OWNER=\u540d\u79f0: {0}\n\u72b6\u6001: {2}\u4e0a\u7684{1}, \u62e5\u6709\u8005: {3}\n
+NEW_CONNECTION_ELLIPSIS=\u65b0\u5efa\u8fde\u63a5(&N)...
+NO_DEADLOCK_DETECTED=\u672a\u68c0\u6d4b\u5230\u6b7b\u9501
+NON_HEAP_MEMORY_USAGE=\u975e\u5806\u5185\u5b58\u4f7f\u7528\u91cf
+NON_HEAP=\u975e\u5806
+NOTIFICATION=\u901a\u77e5
+NOTIFICATION_BUFFER=\u901a\u77e5\u7f13\u51b2\u533a
+NOTIFICATIONS=\u901a\u77e5
+NOTIF_TYPES=NotifTypes
+NUMBER_OF_THREADS=\u7ebf\u7a0b\u6570
+NUMBER_OF_LOADED_CLASSES=\u5df2\u52a0\u8f7d\u7c7b\u6570
+NUMBER_OF_PROCESSORS=\u5904\u7406\u7a0b\u5e8f\u6570
+OBJECT_NAME=ObjectName
+OPERATING_SYSTEM=\u64cd\u4f5c\u7cfb\u7edf
+OPERATION=\u64cd\u4f5c
+OPERATION_INVOCATION=\u64cd\u4f5c\u8c03\u7528
+OPERATION_RETURN_VALUE=\u64cd\u4f5c\u8fd4\u56de\u503c
+OPERATIONS=\u64cd\u4f5c
+OVERVIEW=\u6982\u89c8
+OVERVIEW_PANEL_PLOTTER_ACCESSIBLE_NAME={0}\u7684\u56fe\u8868\u3002
+PARAMETER=\u53c2\u6570
+PASSWORD_ACCESSIBLE_NAME=\u53e3\u4ee4
+PASSWORD_COLON_=\u53e3\u4ee4(&P):
+PEAK=\u5cf0\u503c
+PERFORM_GC=\u6267\u884c &GC
+PERFORM_GC_TOOLTIP=\u8bf7\u6c42\u5783\u573e\u6536\u96c6
+PLOTTER_ACCESSIBLE_NAME=\u56fe\u8868
+PLOTTER_ACCESSIBLE_NAME_KEY_AND_VALUE={0}={1}\n
+PLOTTER_ACCESSIBLE_NAME_NO_DATA=\u672a\u7ed8\u5236\u6570\u636e\u3002
+PLOTTER_SAVE_AS_MENU_ITEM=\u5c06\u6570\u636e\u53e6\u5b58\u4e3a(&A)...
+PLOTTER_TIME_RANGE_MENU=\u65f6\u95f4\u8303\u56f4(&T)
+PROBLEM_ADDING_LISTENER=\u6dfb\u52a0\u76d1\u542c\u7a0b\u5e8f\u65f6\u51fa\u73b0\u95ee\u9898
+PROBLEM_DISPLAYING_MBEAN=\u663e\u793a MBean \u65f6\u51fa\u73b0\u95ee\u9898
+PROBLEM_INVOKING=\u8c03\u7528\u65f6\u51fa\u73b0\u95ee\u9898
+PROBLEM_REMOVING_LISTENER=\u5220\u9664\u76d1\u542c\u7a0b\u5e8f\u65f6\u51fa\u73b0\u95ee\u9898
+PROBLEM_SETTING_ATTRIBUTE=\u8bbe\u7f6e\u5c5e\u6027\u65f6\u51fa\u73b0\u95ee\u9898
+PROCESS_CPU_TIME=\u8fdb\u7a0b CPU \u65f6\u95f4
+READABLE=\u53ef\u8bfb
+RECONNECT=\u91cd\u65b0\u8fde\u63a5
+REMOTE_PROCESS_COLON=\u8fdc\u7a0b\u8fdb\u7a0b(&R):
+REMOTE_PROCESS_TEXT_FIELD_ACCESSIBLE_NAME=\u8fdc\u7a0b\u8fdb\u7a0b
+RESTORE_ALL=\u5168\u90e8\u8fd8\u539f(&R)
+RETURN_TYPE=ReturnType
+SEQ_NUM=SeqNum
+SIZE_BYTES={0,number,integer} \u5b57\u8282
+SIZE_GB={0} GB
+SIZE_KB={0} KB
+SIZE_MB={0} MB
+SOURCE=\u6e90
+STACK_TRACE=\n\u5806\u6808\u8ddf\u8e2a: \n
+SUMMARY_TAB_HEADER_DATE_TIME_FORMAT=FULL,FULL
+SUMMARY_TAB_PENDING_FINALIZATION_LABEL=\u6682\u6302\u6700\u7ec8\u5904\u7406
+SUMMARY_TAB_PENDING_FINALIZATION_VALUE={0}\u5bf9\u8c61
+SUMMARY_TAB_TAB_NAME=VM \u6982\u8981
+SUMMARY_TAB_VM_VERSION={0}\u7248\u672c {1}
+THREADS=\u7ebf\u7a0b
+THREAD_TAB_THREAD_INFO_ACCESSIBLE_NAME=\u7ebf\u7a0b\u4fe1\u606f
+THREAD_TAB_THREAD_PLOTTER_ACCESSIBLE_NAME=\u8868\u793a\u7ebf\u7a0b\u6570\u7684\u56fe\u8868\u3002
+THRESHOLD=\u9608\u503c
+TILE=\u5e73\u94fa(&T)
+TIME_RANGE_COLON=\u65f6\u95f4\u8303\u56f4(&T):
+TIME=\u65f6\u95f4
+TIME_STAMP=TimeStamp
+TOTAL_LOADED=\u52a0\u8f7d\u603b\u6570
+TOTAL_CLASSES_LOADED=\u5df2\u52a0\u8f7d\u7c7b\u603b\u6570
+TOTAL_CLASSES_UNLOADED=\u5df2\u5378\u8f7d\u7c7b\u603b\u6570
+TOTAL_COMPILE_TIME=\u603b\u7f16\u8bd1\u65f6\u95f4
+TOTAL_PHYSICAL_MEMORY=\u603b\u7269\u7406\u5185\u5b58
+TOTAL_THREADS_STARTED=\u542f\u52a8\u7684\u7ebf\u7a0b\u603b\u6570
+TOTAL_SWAP_SPACE=\u603b\u4ea4\u6362\u7a7a\u95f4
+TYPE=\u7c7b\u578b
+UNAVAILABLE=\u4e0d\u53ef\u7528
+UNKNOWN_CAPITALIZED=UNKNOWN
+UNKNOWN_HOST=\u672a\u77e5\u4e3b\u673a: {0}
+UNREGISTER=\u6ce8\u9500
+UPTIME=\u8fd0\u884c\u65f6\u95f4
+USAGE_THRESHOLD=\u7528\u6cd5\u9608\u503c
+REMOTE_TF_USAGE=<b>\u7528\u6cd5</b>: <hostname>:<port> \u6216 service:jmx:<protocol>:<sap>
+USED=\u5df2\u7528
+USERNAME_COLON_=\u7528\u6237\u540d(&U):
+USERNAME_ACCESSIBLE_NAME=\u7528\u6237\u540d
+USER_DATA=UserData
+VIRTUAL_MACHINE=\u865a\u62df\u673a
+VM_ARGUMENTS=VM \u53c2\u6570
+VMINTERNAL_FRAME_ACCESSIBLE_DESCRIPTION=\u7528\u4e8e\u76d1\u89c6 Java \u865a\u62df\u673a\u7684\u5185\u90e8\u6846\u67b6
+VALUE=\u503c
+VENDOR=\u5382\u5546
+VERBOSE_OUTPUT=\u8be6\u7ec6\u8f93\u51fa
+VERBOSE_OUTPUT_TOOLTIP=\u4e3a\u7c7b\u52a0\u8f7d\u7cfb\u7edf\u542f\u7528\u8be6\u7ec6\u8f93\u51fa
+VIEW=\u89c6\u56fe
+WINDOW=\u7a97\u53e3(&W)
+WINDOWS=Windows
+WRITABLE=\u53ef\u5199
+CONNECTION_FAILED1=\u8fde\u63a5\u5931\u8d25: \u662f\u5426\u91cd\u8bd5?
+CONNECTION_FAILED2=\u672a\u6210\u529f\u8fde\u63a5\u5230{0}\u3002<br>\u662f\u5426\u8981\u91cd\u8bd5?
+CONNECTION_LOST1=\u8fde\u63a5\u4e22\u5931: \u662f\u5426\u91cd\u65b0\u8fde\u63a5?
+CONNECTING_TO1=\u6b63\u5728\u8fde\u63a5\u5230{0}
+CONNECTING_TO2=\u60a8\u5f53\u524d\u6b63\u5728\u8fde\u63a5\u5230{0}\u3002<br>\u8fd9\u5c06\u9700\u8981\u51e0\u5206\u949f\u7684\u65f6\u95f4\u3002
+DEADLOCK_TAB=\u6b7b\u9501
+DEADLOCK_TAB_N=\u6b7b\u9501{0}
+EXPAND=\u5c55\u5f00
+KBYTES={0} KB
+PLOT=\u7ed8\u56fe
+VISUALIZE=\u53ef\u89c6\u5316
+ZZ_USAGE_TEXT=\u7528\u6cd5: {0} [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ... ]\n\n -interval \u5c06\u66f4\u65b0\u95f4\u9694\u8bbe\u7f6e\u4e3a n \u79d2 (\u9ed8\u8ba4\u503c\u4e3a 4 \u79d2)\n -notile \u521d\u59cb\u4e0d\u5e73\u94fa\u7a97\u53e3 (\u5bf9\u4e8e\u4e24\u4e2a\u6216\u591a\u4e2a\u8fde\u63a5)\n -pluginpath \u6307\u5b9a jconsole \u7528\u4e8e\u67e5\u627e\u63d2\u4ef6\u7684\u8def\u5f84\n -version \u8f93\u51fa\u7a0b\u5e8f\u7248\u672c\n\n connection = pid || host:port || JMX URL (service:jmx:<\u534f\u8bae>://...)\n pid \u76ee\u6807\u8fdb\u7a0b\u7684\u8fdb\u7a0b ID\n host \u8fdc\u7a0b\u4e3b\u673a\u540d\u6216 IP \u5730\u5740\n port \u8fdc\u7a0b\u8fde\u63a5\u7684\u7aef\u53e3\u53f7\n\n -J \u6307\u5b9a\u8fd0\u884c jconsole \u7684 Java \u865a\u62df\u673a\n \u7684\u8f93\u5165\u53c2\u6570