From 5320dfad6e30ccf63c2ececaf383a8a25889b81c Mon Sep 17 00:00:00 2001 From: egahlin Date: Fri, 25 May 2012 12:24:57 +0200 Subject: [PATCH] 7017818: NLS: JConsoleResources.java cannot be handled by translation team Reviewed-by: mchung, mfang --- make/netbeans/jconsole/build.xml | 1 + make/sun/jconsole/FILES.gmk | 29 +- make/sun/jconsole/Makefile | 8 +- .../sun/tools/jconsole/AboutDialog.java | 24 +- .../sun/tools/jconsole/BorderedComponent.java | 16 +- .../classes/sun/tools/jconsole/ClassTab.java | 49 +- .../sun/tools/jconsole/ConnectDialog.java | 76 ++- .../sun/tools/jconsole/CreateMBeanDialog.java | 32 +- .../classes/sun/tools/jconsole/Formatter.java | 30 +- .../classes/sun/tools/jconsole/HTMLPane.java | 2 - .../sun/tools/jconsole/InternalDialog.java | 4 +- .../classes/sun/tools/jconsole/JConsole.java | 70 ++- .../sun/tools/jconsole/LabeledComponent.java | 1 - .../tools/jconsole/LocalVirtualMachine.java | 3 +- .../classes/sun/tools/jconsole/MBeansTab.java | 2 +- .../jconsole/MaximizableInternalFrame.java | 2 +- .../sun/tools/jconsole/MemoryPoolProxy.java | 8 - .../sun/tools/jconsole/MemoryPoolStat.java | 2 +- .../classes/sun/tools/jconsole/MemoryTab.java | 119 ++--- .../classes/sun/tools/jconsole/Messages.java | 316 ++++++++++++ .../sun/tools/jconsole/OverviewPanel.java | 6 +- .../sun/tools/jconsole/OverviewTab.java | 10 +- .../classes/sun/tools/jconsole/Plotter.java | 78 ++- .../sun/tools/jconsole/PlotterPanel.java | 1 - .../sun/tools/jconsole/ProxyClient.java | 15 +- .../classes/sun/tools/jconsole/Resources.java | 196 ++++++-- .../sun/tools/jconsole/SummaryTab.java | 114 ++--- src/share/classes/sun/tools/jconsole/Tab.java | 3 - .../classes/sun/tools/jconsole/ThreadTab.java | 72 ++- .../sun/tools/jconsole/VMInternalFrame.java | 11 +- .../classes/sun/tools/jconsole/VMPanel.java | 52 +- .../tools/jconsole/VariableGridLayout.java | 1 - .../sun/tools/jconsole/Version.java.template | 17 +- .../jconsole/inspector/OperationEntry.java | 34 +- .../tools/jconsole/inspector/TableSorter.java | 2 +- .../jconsole/inspector/ThreadDialog.java | 1 - .../sun/tools/jconsole/inspector/Utils.java | 2 +- .../jconsole/inspector/XArrayDataViewer.java | 4 +- .../tools/jconsole/inspector/XDataViewer.java | 8 +- .../jconsole/inspector/XMBeanAttributes.java | 28 +- .../tools/jconsole/inspector/XMBeanInfo.java | 83 ++-- .../inspector/XMBeanNotifications.java | 21 +- .../sun/tools/jconsole/inspector/XObject.java | 11 - .../jconsole/inspector/XOpenTypeViewer.java | 62 +-- .../tools/jconsole/inspector/XOperations.java | 14 +- .../tools/jconsole/inspector/XPlotter.java | 1 - .../jconsole/inspector/XPlottingViewer.java | 10 +- .../sun/tools/jconsole/inspector/XSheet.java | 60 +-- .../sun/tools/jconsole/inspector/XTable.java | 3 +- .../tools/jconsole/inspector/XTextField.java | 53 +- .../sun/tools/jconsole/inspector/XTree.java | 14 +- .../jconsole/inspector/XTreeRenderer.java | 2 - .../jconsole/resources/JConsoleResources.java | 462 ------------------ .../resources/JConsoleResources_ja.java | 442 ----------------- .../resources/JConsoleResources_zh_CN.java | 442 ----------------- .../jconsole/resources/messages.properties | 273 +++++++++++ .../jconsole/resources/messages_ja.properties | 273 +++++++++++ .../resources/messages_zh_CN.properties | 273 +++++++++++ 58 files changed, 1792 insertions(+), 2156 deletions(-) create mode 100644 src/share/classes/sun/tools/jconsole/Messages.java delete mode 100644 src/share/classes/sun/tools/jconsole/resources/JConsoleResources.java delete mode 100644 src/share/classes/sun/tools/jconsole/resources/JConsoleResources_ja.java delete mode 100644 src/share/classes/sun/tools/jconsole/resources/JConsoleResources_zh_CN.java create mode 100644 src/share/classes/sun/tools/jconsole/resources/messages.properties create mode 100644 src/share/classes/sun/tools/jconsole/resources/messages_ja.properties create mode 100644 src/share/classes/sun/tools/jconsole/resources/messages_zh_CN.properties diff --git a/make/netbeans/jconsole/build.xml b/make/netbeans/jconsole/build.xml index a69606765..9c1fc9515 100644 --- a/make/netbeans/jconsole/build.xml +++ b/make/netbeans/jconsole/build.xml @@ -50,6 +50,7 @@ + diff --git a/make/sun/jconsole/FILES.gmk b/make/sun/jconsole/FILES.gmk index 61085e656..8fc34acb6 100644 --- a/make/sun/jconsole/FILES.gmk +++ b/make/sun/jconsole/FILES.gmk @@ -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 diff --git a/make/sun/jconsole/Makefile b/make/sun/jconsole/Makefile index da0200d7d..c2651ce70 100644 --- a/make/sun/jconsole/Makefile +++ b/make/sun/jconsole/Makefile @@ -53,21 +53,21 @@ AUTO_FILES_JAVA_DIRS = sun/tools/jconsole \ 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 @@ $(TEMPDIR)/manifest: $(SHARE_SRC)/classes/$(PKGDIR)/manifest # 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 \ diff --git a/src/share/classes/sun/tools/jconsole/AboutDialog.java b/src/share/classes/sun/tools/jconsole/AboutDialog.java index f6b7c5ac5..1d91d5313 100644 --- a/src/share/classes/sun/tools/jconsole/AboutDialog.java +++ b/src/share/classes/sun/tools/jconsole/AboutDialog.java @@ -30,13 +30,12 @@ import java.awt.event.*; 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 @@ public class AboutDialog extends InternalDialog { 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 @@ public class AboutDialog extends InternalDialog { 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 @@ public class AboutDialog extends InternalDialog { 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 @@ public class AboutDialog extends InternalDialog { 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 = "" + urlStr + ""; } @@ -86,9 +84,9 @@ public class AboutDialog extends InternalDialog { String colorStr = String.format("%06x", textColor.getRGB() & 0xFFFFFF); JEditorPane helpLink = new JEditorPane("text/html", "" + - getText("Help.AboutDialog.jConsoleVersion", jConsoleVersion) + - "

" + getText("Help.AboutDialog.javaVersion", (vmName +", "+ vmVersion)) + - "

" + getText("Help.AboutDialog.userGuideLink", urlStr) + + Resources.format(Messages.HELP_ABOUT_DIALOG_JCONSOLE_VERSION, jConsoleVersion) + + "

" + Resources.format(Messages.HELP_ABOUT_DIALOG_JAVA_VERSION, (vmName +", "+ vmVersion)) + + "

" + Resources.format(Messages.HELP_ABOUT_DIALOG_USER_GUIDE_LINK, urlStr) + ""); helpLink.setOpaque(false); helpLink.setEditable(false); @@ -155,7 +153,7 @@ public class AboutDialog extends InternalDialog { } 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 @@ public class AboutDialog extends InternalDialog { } private void createActions() { - closeAction = new AbstractAction(getText("Close")) { + closeAction = new AbstractAction(Messages.CLOSE) { public void actionPerformed(ActionEvent ev) { setVisible(false); statusBar.setText(""); diff --git a/src/share/classes/sun/tools/jconsole/BorderedComponent.java b/src/share/classes/sun/tools/jconsole/BorderedComponent.java index 5b45d74f8..57549ec61 100644 --- a/src/share/classes/sun/tools/jconsole/BorderedComponent.java +++ b/src/share/classes/sun/tools/jconsole/BorderedComponent.java @@ -33,11 +33,10 @@ import javax.swing.border.*; 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 @@ public class BorderedComponent extends JPanel implements ActionListener { JComponent comp; boolean collapsed = false; - private JPopupMenu popupMenu; - private Icon collapseIcon; private Icon expandIcon; @@ -100,7 +97,7 @@ public class BorderedComponent extends JPanel implements ActionListener { 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 class BorderedComponent extends JPanel implements ActionListener { 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 @@ public class BorderedComponent extends JPanel implements ActionListener { 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 @@ public class BorderedComponent extends JPanel implements ActionListener { * @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) { diff --git a/src/share/classes/sun/tools/jconsole/ClassTab.java b/src/share/classes/sun/tools/jconsole/ClassTab.java index c47ccbc15..b192b9f5c 100644 --- a/src/share/classes/sun/tools/jconsole/ClassTab.java +++ b/src/share/classes/sun/tools/jconsole/ClassTab.java @@ -33,17 +33,11 @@ import java.lang.reflect.*; 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 java.util.concurrent.*; import static sun.tools.jconsole.Formatter.*; -import static sun.tools.jconsole.Resources.*; import static sun.tools.jconsole.Utilities.*; @@ -58,13 +52,9 @@ class ClassTab extends Tab implements ActionListener { 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 @@ class ClassTab extends Tab implements ActionListener { */ public static String getTabName() { - return Resources.getText("Classes"); + return Messages.CLASSES; } public ClassTab(VMPanel vmPanel) { @@ -108,40 +98,40 @@ class ClassTab extends Tab implements ActionListener { 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 @@ class ClassTab extends Tab implements ActionListener { 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 @@ class ClassTab extends Tab implements ActionListener { 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)); } } } diff --git a/src/share/classes/sun/tools/jconsole/ConnectDialog.java b/src/share/classes/sun/tools/jconsole/ConnectDialog.java index 2bdd50145..ea6366706 100644 --- a/src/share/classes/sun/tools/jconsole/ConnectDialog.java +++ b/src/share/classes/sun/tools/jconsole/ConnectDialog.java @@ -29,23 +29,17 @@ import java.util.List; 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 @@ public class ConnectDialog extends InternalDialog 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 class ConnectDialog extends InternalDialog 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 @@ public class ConnectDialog extends InternalDialog 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 @@ public class ConnectDialog extends InternalDialog 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 @@ public class ConnectDialog extends InternalDialog 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 @@ public class ConnectDialog extends InternalDialog 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 @@ public class ConnectDialog extends InternalDialog 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 @@ public class ConnectDialog extends InternalDialog remoteTFPanel.add(remoteTF, NORTH); - remoteMessageLabel = new JLabel("" + getText("remoteTF.usage")); + remoteMessageLabel = new JLabel("" + Messages.REMOTE_TF_USAGE + ""); remoteMessageLabel.setFont(smallLabelFont); remoteMessageLabel.setForeground(hintTextColor); remoteTFPanel.add(remoteMessageLabel, CENTER); @@ -222,11 +216,10 @@ public class ConnectDialog extends InternalDialog 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 @@ public class ConnectDialog extends InternalDialog 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 @@ public class ConnectDialog extends InternalDialog 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 @@ public class ConnectDialog extends InternalDialog String colorStr = String.format("%06x", hintTextColor.getRGB() & 0xFFFFFF); remoteMessageLabel.setText("" + - getText("remoteTF.usage")); + Messages.REMOTE_TF_USAGE); } if (localMessageLabel != null) { localMessageLabel.setForeground(hintTextColor); @@ -300,9 +293,9 @@ public class ConnectDialog extends InternalDialog } 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 @@ public class ConnectDialog extends InternalDialog 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 @@ public class ConnectDialog extends InternalDialog } }; - cancelAction = new AbstractAction(getText("Cancel")) { + cancelAction = new AbstractAction(Messages.CANCEL) { public void actionPerformed(ActionEvent ev) { setVisible(false); statusBar.setText(""); @@ -588,9 +580,9 @@ public class ConnectDialog extends InternalDialog 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 @@ public class ConnectDialog extends InternalDialog // 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 vmList; @@ -678,7 +670,7 @@ public class ConnectDialog extends InternalDialog } } - 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 @@ public class ConnectDialog extends InternalDialog } } - - // 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 @@ public class ConnectDialog extends InternalDialog Padder(JRadioButton radioButton) { this.radioButton = radioButton; - setAccessibleName(this, getText("Blank")); + setAccessibleName(this, Messages.BLANK); } public Dimension getPreferredSize() { @@ -758,7 +743,6 @@ public class ConnectDialog extends InternalDialog if (g == null) { return null; } - String clippedText = SwingUtilities.layoutCompoundLabel(button, g.getFontMetrics(), text, diff --git a/src/share/classes/sun/tools/jconsole/CreateMBeanDialog.java b/src/share/classes/sun/tools/jconsole/CreateMBeanDialog.java index 75c784bb6..7d391b8e2 100644 --- a/src/share/classes/sun/tools/jconsole/CreateMBeanDialog.java +++ b/src/share/classes/sun/tools/jconsole/CreateMBeanDialog.java @@ -32,23 +32,21 @@ import java.util.TreeSet; 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 connections; JButton createMBeanButton, unregisterMBeanButton, cancelButton; private static final String HOTSPOT_MBEAN = @@ -60,7 +58,7 @@ public class CreateMBeanDialog extends InternalDialog 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 @@ public class CreateMBeanDialog extends InternalDialog false, true)); cp.add(centerPanel, BorderLayout.CENTER); - connections = new JComboBox(); + connections = new JComboBox(); 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 @@ public class CreateMBeanDialog extends InternalDialog 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 @@ public class CreateMBeanDialog extends InternalDialog } } connections.invalidate(); - connections.setModel(new DefaultComboBoxModel(data.toArray())); + connections.setModel(new DefaultComboBoxModel + (data.toArray(new ProxyClient[data.size()]))); connections.validate(); } @@ -144,7 +141,6 @@ public class CreateMBeanDialog extends InternalDialog 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 @@ public class CreateMBeanDialog extends InternalDialog } 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()); } diff --git a/src/share/classes/sun/tools/jconsole/Formatter.java b/src/share/classes/sun/tools/jconsole/Formatter.java index 46f6c0eea..11923412d 100644 --- a/src/share/classes/sun/tools/jconsole/Formatter.java +++ b/src/share/classes/sun/tools/jconsole/Formatter.java @@ -28,7 +28,6 @@ package sun.tools.jconsole; import java.text.*; import java.util.*; -import static sun.tools.jconsole.Resources.*; class Formatter { final static long SECOND = 1000; @@ -48,7 +47,7 @@ class Formatter { 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 @@ class Formatter { 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 @@ class Formatter { 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 @@ class Formatter { } 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 @@ class Formatter { 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(" ", " "); diff --git a/src/share/classes/sun/tools/jconsole/HTMLPane.java b/src/share/classes/sun/tools/jconsole/HTMLPane.java index f92623aa5..34c3c9bed 100644 --- a/src/share/classes/sun/tools/jconsole/HTMLPane.java +++ b/src/share/classes/sun/tools/jconsole/HTMLPane.java @@ -25,8 +25,6 @@ package sun.tools.jconsole; -import java.awt.Color; - import javax.swing.*; import javax.swing.event.*; import javax.swing.text.*; diff --git a/src/share/classes/sun/tools/jconsole/InternalDialog.java b/src/share/classes/sun/tools/jconsole/InternalDialog.java index 736cb2fce..703e626a2 100644 --- a/src/share/classes/sun/tools/jconsole/InternalDialog.java +++ b/src/share/classes/sun/tools/jconsole/InternalDialog.java @@ -30,8 +30,8 @@ import java.awt.event.*; 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 @@ public class InternalDialog extends JInternalFrame { 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; diff --git a/src/share/classes/sun/tools/jconsole/JConsole.java b/src/share/classes/sun/tools/jconsole/JConsole.java index bc4aa1d50..443ae8074 100644 --- a/src/share/classes/sun/tools/jconsole/JConsole.java +++ b/src/share/classes/sun/tools/jconsole/JConsole.java @@ -29,7 +29,6 @@ import java.awt.*; 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.*; 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 com.sun.tools.jconsole.JConsolePlugin; import sun.net.util.IPAddressUtil; -import static sun.tools.jconsole.Resources.*; import static sun.tools.jconsole.Utilities.*; @SuppressWarnings("serial") @@ -68,7 +64,7 @@ public class JConsole extends JFrame 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 @@ public class JConsole extends JFrame 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 @@ public class JConsole extends JFrame setRootPane(new FixedJRootPane()); setAccessibleDescription(this, - getText("JConsole.accessibleDescription")); + Messages.JCONSOLE_ACCESSIBLE_DESCRIPTION); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); menuBar = new JMenuBar(); @@ -124,12 +120,12 @@ public class JConsole extends JFrame // 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 @@ public class JConsole extends JFrame 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 @@ public class JConsole extends JFrame 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 @@ public class JConsole extends JFrame ((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 @@ public class JConsole extends JFrame 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 @@ public class JConsole extends JFrame } 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 @@ public class JConsole extends JFrame 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 @@ public class JConsole extends JFrame 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 @@ public class JConsole extends JFrame 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 urls, @@ -1003,13 +999,13 @@ public class JConsole extends JFrame 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())); } } diff --git a/src/share/classes/sun/tools/jconsole/LabeledComponent.java b/src/share/classes/sun/tools/jconsole/LabeledComponent.java index 81953f4c6..ce045e8f0 100644 --- a/src/share/classes/sun/tools/jconsole/LabeledComponent.java +++ b/src/share/classes/sun/tools/jconsole/LabeledComponent.java @@ -26,7 +26,6 @@ package sun.tools.jconsole; import java.awt.*; -import java.awt.event.*; import javax.swing.*; diff --git a/src/share/classes/sun/tools/jconsole/LocalVirtualMachine.java b/src/share/classes/sun/tools/jconsole/LocalVirtualMachine.java index c99f99f8b..4982c0ec8 100644 --- a/src/share/classes/sun/tools/jconsole/LocalVirtualMachine.java +++ b/src/share/classes/sun/tools/jconsole/LocalVirtualMachine.java @@ -39,7 +39,6 @@ import com.sun.tools.attach.AttachNotSupportedException; // 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 @@ public class LocalVirtualMachine { private static void getMonitoredVMs(Map map) { MonitoredHost host; - Set vms; + Set vms; try { host = MonitoredHost.getMonitoredHost(new HostIdentifier((String)null)); vms = host.activeVms(); diff --git a/src/share/classes/sun/tools/jconsole/MBeansTab.java b/src/share/classes/sun/tools/jconsole/MBeansTab.java index abd5de795..cb5bcc1ee 100644 --- a/src/share/classes/sun/tools/jconsole/MBeansTab.java +++ b/src/share/classes/sun/tools/jconsole/MBeansTab.java @@ -52,7 +52,7 @@ public class MBeansTab extends Tab implements private XDataViewer viewer; public static String getTabName() { - return Resources.getText("MBeans"); + return Messages.MBEANS; } public MBeansTab(final VMPanel vmPanel) { diff --git a/src/share/classes/sun/tools/jconsole/MaximizableInternalFrame.java b/src/share/classes/sun/tools/jconsole/MaximizableInternalFrame.java index da2b91f3c..ab2c1bff1 100644 --- a/src/share/classes/sun/tools/jconsole/MaximizableInternalFrame.java +++ b/src/share/classes/sun/tools/jconsole/MaximizableInternalFrame.java @@ -222,7 +222,7 @@ public class MaximizableInternalFrame extends JInternalFrame { 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); diff --git a/src/share/classes/sun/tools/jconsole/MemoryPoolProxy.java b/src/share/classes/sun/tools/jconsole/MemoryPoolProxy.java index bc6925fd6..a796db0da 100644 --- a/src/share/classes/sun/tools/jconsole/MemoryPoolProxy.java +++ b/src/share/classes/sun/tools/jconsole/MemoryPoolProxy.java @@ -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 com.sun.management.GcInfo; 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 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(); @@ -73,10 +69,6 @@ public class MemoryPoolProxy { return (gcMBeans.size() != 0); } - public ObjectName getObjectName() { - return objName; - } - public MemoryPoolStat getStat() throws java.io.IOException { long usageThreshold = (pool.isUsageThresholdSupported() ? pool.getUsageThreshold() diff --git a/src/share/classes/sun/tools/jconsole/MemoryPoolStat.java b/src/share/classes/sun/tools/jconsole/MemoryPoolStat.java index 86cb99703..869c44e6a 100644 --- a/src/share/classes/sun/tools/jconsole/MemoryPoolStat.java +++ b/src/share/classes/sun/tools/jconsole/MemoryPoolStat.java @@ -129,6 +129,6 @@ public class MemoryPoolStat { * null if no GC occurs. */ public MemoryUsage getAfterGcUsage() { - return beforeGcUsage; + return afterGcUsage; } } diff --git a/src/share/classes/sun/tools/jconsole/MemoryTab.java b/src/share/classes/sun/tools/jconsole/MemoryTab.java index 03e2f84c0..756fa18b0 100644 --- a/src/share/classes/sun/tools/jconsole/MemoryTab.java +++ b/src/share/classes/sun/tools/jconsole/MemoryTab.java @@ -38,18 +38,14 @@ import javax.management.*; 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 plotterChoice; TimeComboBox timeComboBox; JButton gcButton; @@ -67,19 +63,11 @@ class MemoryTab extends Tab implements ActionListener, ItemListener { 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 @@ class MemoryTab extends Tab implements ActionListener, ItemListener { public static String getTabName() { - return getText("Memory"); + return Messages.MEMORY; } public MemoryTab(VMPanel vmPanel) { @@ -125,32 +113,32 @@ class MemoryTab extends Tab implements ActionListener, ItemListener { topPanel.add(controlPanel, BorderLayout.CENTER); // Plotter choice - plotterChoice = new JComboBox(); + plotterChoice = new JComboBox(); 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 @@ class MemoryTab extends Tab implements ActionListener, ItemListener { 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 @@ class MemoryTab extends Tab implements ActionListener, ItemListener { 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 @@ class MemoryTab extends Tab implements ActionListener, ItemListener { 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 @@ class MemoryTab extends Tab implements ActionListener, ItemListener { 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 @@ class MemoryTab extends Tab implements ActionListener, ItemListener { //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 @@ class MemoryTab extends Tab implements ActionListener, ItemListener { 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 @@ class MemoryTab extends Tab implements ActionListener, ItemListener { this.isHeap = isHeap; setAccessibleName(this, - getText("MemoryTab.poolPlotter.accessibleName", - name)); + Resources.format(Messages.MEMORY_TAB_POOL_PLOTTER_ACCESSIBLE_NAME, + name)); } @@ -627,7 +614,7 @@ class MemoryTab extends Tab implements ActionListener, ItemListener { 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 @@ class MemoryTab extends Tab implements ActionListener, ItemListener { 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 @@ class MemoryTab extends Tab implements ActionListener, ItemListener { 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 @@ class MemoryTab extends Tab implements ActionListener, ItemListener { 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))); } } } diff --git a/src/share/classes/sun/tools/jconsole/Messages.java b/src/share/classes/sun/tools/jconsole/Messages.java new file mode 100644 index 000000000..27001f27c --- /dev/null +++ b/src/share/classes/sun/tools/jconsole/Messages.java @@ -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; +} diff --git a/src/share/classes/sun/tools/jconsole/OverviewPanel.java b/src/share/classes/sun/tools/jconsole/OverviewPanel.java index 4603b9725..269dbd232 100644 --- a/src/share/classes/sun/tools/jconsole/OverviewPanel.java +++ b/src/share/classes/sun/tools/jconsole/OverviewPanel.java @@ -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 @@ abstract class OverviewPanel extends PlotterPanel { } plotter.createSequence(plotterKey, plotterName, PLOTTER_COLOR, true); setAccessibleName(plotter, - getText("OverviewPanel.plotter.accessibleName", + Resources.format(Messages.OVERVIEW_PANEL_PLOTTER_ACCESSIBLE_NAME, title)); setPlotter(plotter); } diff --git a/src/share/classes/sun/tools/jconsole/OverviewTab.java b/src/share/classes/sun/tools/jconsole/OverviewTab.java index 74a14ecb6..3b89f6e33 100644 --- a/src/share/classes/sun/tools/jconsole/OverviewTab.java +++ b/src/share/classes/sun/tools/jconsole/OverviewTab.java @@ -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 @@ class OverviewTab extends Tab { TimeComboBox timeComboBox; public static String getTabName() { - return getText("Overview"); + return Messages.OVERVIEW; } public OverviewTab(VMPanel vmPanel) { @@ -58,8 +54,8 @@ class OverviewTab extends Tab { 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); diff --git a/src/share/classes/sun/tools/jconsole/Plotter.java b/src/share/classes/sun/tools/jconsole/Plotter.java index 351187e51..a9dbeceb9 100644 --- a/src/share/classes/sun/tools/jconsole/Plotter.java +++ b/src/share/classes/sun/tools/jconsole/Plotter.java @@ -38,14 +38,11 @@ import javax.swing.border.*; import javax.swing.filechooser.*; import javax.swing.filechooser.FileFilter; -import com.sun.tools.jconsole.JConsoleContext; -import static com.sun.tools.jconsole.JConsoleContext.ConnectionState.*; +import com.sun.tools.jconsole.JConsoleContext; 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 @@ public class Plotter extends JComponent } 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 @@ public class Plotter extends JComponent @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 @@ public class Plotter extends JComponent 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 @@ public class Plotter extends JComponent 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 @@ public class Plotter extends JComponent 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 @@ public class Plotter extends JComponent } 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 @@ public class Plotter extends JComponent 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 @@ public class Plotter extends JComponent 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 @@ public class Plotter extends JComponent } // 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; } diff --git a/src/share/classes/sun/tools/jconsole/PlotterPanel.java b/src/share/classes/sun/tools/jconsole/PlotterPanel.java index f9cc12593..da6b2cc3b 100644 --- a/src/share/classes/sun/tools/jconsole/PlotterPanel.java +++ b/src/share/classes/sun/tools/jconsole/PlotterPanel.java @@ -25,7 +25,6 @@ package sun.tools.jconsole; -import java.awt.*; import java.awt.event.*; import javax.accessibility.*; diff --git a/src/share/classes/sun/tools/jconsole/ProxyClient.java b/src/share/classes/sun/tools/jconsole/ProxyClient.java index 6e129fd55..d98d48952 100644 --- a/src/share/classes/sun/tools/jconsole/ProxyClient.java +++ b/src/share/classes/sun/tools/jconsole/ProxyClient.java @@ -27,7 +27,6 @@ package sun.tools.jconsole; 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 class ProxyClient implements JConsoleContext { 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 @@ public class ProxyClient implements JConsoleContext { assert(false); } } - Set mbeans = server.queryNames(name, null); + Set mbeans = server.queryNames(name, null); Map result = new HashMap(mbeans.size()); - Iterator iterator = mbeans.iterator(); + Iterator iterator = mbeans.iterator(); while (iterator.hasNext()) { Object object = iterator.next(); if (object instanceof ObjectName) { @@ -704,10 +703,10 @@ public class ProxyClient implements JConsoleContext { // should not reach here assert(false); } - Set mbeans = server.queryNames(poolName, null); + Set mbeans = server.queryNames(poolName, null); if (mbeans != null) { memoryPoolProxies = new ArrayList(); - Iterator iterator = mbeans.iterator(); + Iterator iterator = mbeans.iterator(); while (iterator.hasNext()) { ObjectName objName = (ObjectName) iterator.next(); MemoryPoolProxy p = new MemoryPoolProxy(this, objName); @@ -730,10 +729,10 @@ public class ProxyClient implements JConsoleContext { // should not reach here assert(false); } - Set mbeans = server.queryNames(gcName, null); + Set mbeans = server.queryNames(gcName, null); if (mbeans != null) { garbageCollectorMBeans = new ArrayList(); - Iterator iterator = mbeans.iterator(); + Iterator iterator = mbeans.iterator(); while (iterator.hasNext()) { ObjectName on = (ObjectName) iterator.next(); String name = GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE + diff --git a/src/share/classes/sun/tools/jconsole/Resources.java b/src/share/classes/sun/tools/jconsole/Resources.java index 26e768b60..e7ced473e 100644 --- a/src/share/classes/sun/tools/jconsole/Resources.java +++ b/src/share/classes/sun/tools/jconsole/Resources.java @@ -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 MNEMONIC_LOOKUP = Collections + .synchronizedMap(new HashMap()); + + 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 int + */ + public static int getMnemonicInt(String message) { + Integer integer = MNEMONIC_LOOKUP.get(message); + if (integer != null) { + return integer.intValue(); + } + return 0; + } - private static final Object lock = new Object(); - private static JConsoleResources resources = null; - static { + /** + * 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"; + } + try { + return rb.getString(key); + } catch (MissingResourceException mre) { + return "missing message for key = \"" + key + + "\" in resource bundle "; } - return formatMessage(format, args); } - 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 the mnemonic keycode int of the jconsole resource for the specified key. + * Returns a {@link String} where all \n in the have + * been replaced with the line separator for the platform. + * + * @param text the to be replaced * + * @return the replaced text */ - 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 replaceWithPlatformLineFeed(String text) { + return text.replace("\n", System.getProperty("line.separator")); + } + + /** + * Removes the mnemonic identifier (&) from a string unless + * it's escaped by && or placed at the end. + * + * @param message the message + * + * @return a message with the mnemonic identifier removed + */ + 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 + * & that is not followed by another &. * + * @return the mnemonic as an int, or 0 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 int, or 0 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; + } } } diff --git a/src/share/classes/sun/tools/jconsole/SummaryTab.java b/src/share/classes/sun/tools/jconsole/SummaryTab.java index 5e1907f1c..e51110085 100644 --- a/src/share/classes/sun/tools/jconsole/SummaryTab.java +++ b/src/share/classes/sun/tools/jconsole/SummaryTab.java @@ -29,24 +29,19 @@ import java.awt.*; 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 = "


"; private static final String newTable = ""; @@ -70,7 +65,7 @@ class SummaryTab extends Tab { } public static String getTabName() { - return Resources.getText("SummaryTab.tabName"); + return Messages.SUMMARY_TAB_TAB_NAME; } public SummaryTab(VMPanel vmPanel) { @@ -83,7 +78,7 @@ class SummaryTab extends Tab { add(new JScrollPane(info)); headerDateTimeFormat = - getDateTimeFormat("SummaryTab.headerDateTimeFormat"); + Formatter.getDateTimeFormat(Messages.SUMMARY_TAB_HEADER_DATE_TIME_FORMAT); } public SwingWorker newSwingWorker() { @@ -138,7 +133,7 @@ class SummaryTab extends Tab { proxyClient.getSunOperatingSystemMXBean(); append("
"); - append("
" + getText("SummaryTab.tabName") + "
"); + append("
" + Messages.SUMMARY_TAB_TAB_NAME + "
"); String dateTime = headerDateTimeFormat.format(System.currentTimeMillis()); append("
" + dateTime + "
"); @@ -147,30 +142,30 @@ class SummaryTab extends Tab { { // 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 @@ class SummaryTab extends Tab { 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 @@ class SummaryTab extends Tab { 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 @@ class SummaryTab extends Tab { 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 @@ class SummaryTab extends Tab { 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 @@ class SummaryTab extends Tab { 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 @@ class SummaryTab extends Tab { 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 @@ class SummaryTab extends Tab { 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 @@ class SummaryTab extends Tab { } 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 @@ class SummaryTab extends Tab { value = value.replace(pathSeparator, "" + 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 @@ class SummaryTab extends Tab { 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 @@ class SummaryTab extends Tab { 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; } } - - - } diff --git a/src/share/classes/sun/tools/jconsole/Tab.java b/src/share/classes/sun/tools/jconsole/Tab.java index 32ac8d6d0..512cc6be5 100644 --- a/src/share/classes/sun/tools/jconsole/Tab.java +++ b/src/share/classes/sun/tools/jconsole/Tab.java @@ -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 { diff --git a/src/share/classes/sun/tools/jconsole/ThreadTab.java b/src/share/classes/sun/tools/jconsole/ThreadTab.java index 16a461cbb..d1cb677ef 100644 --- a/src/share/classes/sun/tools/jconsole/ThreadTab.java +++ b/src/share/classes/sun/tools/jconsole/ThreadTab.java @@ -35,14 +35,11 @@ import javax.swing.*; 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 @@ class ThreadTab extends Tab implements ActionListener, DocumentListener, ListSel PlotterPanel threadMeter; TimeComboBox timeComboBox; JTabbedPane threadListTabbedPane; - DefaultListModel listModel; + DefaultListModel listModel; JTextField filterTF; JLabel messageLabel; JSplitPane threadsSplitPane; @@ -64,9 +61,6 @@ class ThreadTab extends Tab implements ActionListener, DocumentListener, ListSel 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 @@ class ThreadTab extends Tab implements ActionListener, DocumentListener, ListSel public static String getTabName() { - return Resources.getText("Threads"); + return Messages.THREADS; } public ThreadTab(VMPanel vmPanel) { @@ -111,28 +105,28 @@ class ThreadTab extends Tab implements ActionListener, DocumentListener, ListSel 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(); 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 @@ class ThreadTab extends Tab implements ActionListener, DocumentListener, ListSel 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 @@ class ThreadTab extends Tab implements ActionListener, DocumentListener, ListSel 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 @@ class ThreadTab extends Tab implements ActionListener, DocumentListener, ListSel } 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 @@ class ThreadTab extends Tab implements ActionListener, DocumentListener, ListSel 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 @@ class ThreadTab extends Tab implements ActionListener, DocumentListener, ListSel if (deadlockedThreads != null) { for (int i = 0; i < deadlockedThreads.length; i++) { - DefaultListModel listModel = new DefaultListModel(); + DefaultListModel listModel = new DefaultListModel(); 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 @@ class ThreadTab extends Tab implements ActionListener, DocumentListener, ListSel 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 @@ class ThreadTab extends Tab implements ActionListener, DocumentListener, ListSel - private class ThreadJList extends JList { + private class ThreadJList extends JList { private JTextArea textArea; - ThreadJList(DefaultListModel listModel, JTextArea textArea) { + ThreadJList(DefaultListModel listModel, JTextArea textArea) { super(listModel); this.textArea = textArea; @@ -603,7 +597,7 @@ class ThreadTab extends Tab implements ActionListener, DocumentListener, ListSel 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 @@ class ThreadTab extends Tab implements ActionListener, DocumentListener, ListSel 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)); } } } diff --git a/src/share/classes/sun/tools/jconsole/VMInternalFrame.java b/src/share/classes/sun/tools/jconsole/VMInternalFrame.java index cb38e8c90..750d444c2 100644 --- a/src/share/classes/sun/tools/jconsole/VMInternalFrame.java +++ b/src/share/classes/sun/tools/jconsole/VMInternalFrame.java @@ -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.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 @@ public class VMInternalFrame extends MaximizableInternalFrame { this.vmPanel = vmPanel; setAccessibleDescription(this, - getText("VMInternalFrame.accessibleDescription")); + Messages.VMINTERNAL_FRAME_ACCESSIBLE_DESCRIPTION); getContentPane().add(vmPanel, BorderLayout.CENTER); pack(); vmPanel.updateFrameTitle(); diff --git a/src/share/classes/sun/tools/jconsole/VMPanel.java b/src/share/classes/sun/tools/jconsole/VMPanel.java index ebaf17001..d9072b0ac 100644 --- a/src/share/classes/sun/tools/jconsole/VMPanel.java +++ b/src/share/classes/sun/tools/jconsole/VMPanel.java @@ -28,18 +28,16 @@ package sun.tools.jconsole; 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 @@ public class VMPanel extends JTabbedPane implements PropertyChangeListener { 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 tabInfos = new ArrayList(); private boolean wasConnected = false; @@ -100,7 +95,6 @@ public class VMPanel extends JTabbedPane implements PropertyChangeListener { 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 class VMPanel extends JTabbedPane implements PropertyChangeListener { 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 @@ public class VMPanel extends JTabbedPane implements PropertyChangeListener { 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 @@ public class VMPanel extends JTabbedPane implements PropertyChangeListener { 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 @@ public class VMPanel extends JTabbedPane implements PropertyChangeListener { progressPanel.add(progressBar); Object[] message = { - "

" + getText("connectingTo1", connectionName) + "

", + "

" + Resources.format(Messages.CONNECTING_TO1, connectionName) + "

", progressPanel, - "" + getText("connectingTo2", connectionName) + "" + "" + Resources.format(Messages.CONNECTING_TO2, connectionName) + "" }; optionPane = @@ -373,7 +367,7 @@ public class VMPanel extends JTabbedPane implements PropertyChangeListener { message, JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, - new String[]{getText("Cancel")}, + new String[]{Messages.CANCEL}, 0); @@ -409,7 +403,7 @@ public class VMPanel extends JTabbedPane implements PropertyChangeListener { 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 @@ public class VMPanel extends JTabbedPane implements PropertyChangeListener { 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 @@ public class VMPanel extends JTabbedPane implements PropertyChangeListener { "" + msgExplanation + "", 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 @@ public class VMPanel extends JTabbedPane implements PropertyChangeListener { 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 @@ public class VMPanel extends JTabbedPane implements PropertyChangeListener { } } - // 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) { diff --git a/src/share/classes/sun/tools/jconsole/VariableGridLayout.java b/src/share/classes/sun/tools/jconsole/VariableGridLayout.java index 3cf55b0c1..2d5851ce3 100644 --- a/src/share/classes/sun/tools/jconsole/VariableGridLayout.java +++ b/src/share/classes/sun/tools/jconsole/VariableGridLayout.java @@ -26,7 +26,6 @@ package sun.tools.jconsole; import java.awt.*; -import java.util.*; import javax.swing.*; diff --git a/src/share/classes/sun/tools/jconsole/Version.java.template b/src/share/classes/sun/tools/jconsole/Version.java.template index b768be878..f52ac6576 100644 --- a/src/share/classes/sun/tools/jconsole/Version.java.template +++ b/src/share/classes/sun/tools/jconsole/Version.java.template @@ -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 class Version { 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() { diff --git a/src/share/classes/sun/tools/jconsole/inspector/OperationEntry.java b/src/share/classes/sun/tools/jconsole/inspector/OperationEntry.java index 4ada1cd5d..30dde2be1 100644 --- a/src/share/classes/sun/tools/jconsole/inspector/OperationEntry.java +++ b/src/share/classes/sun/tools/jconsole/inspector/OperationEntry.java @@ -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 @@ public class OperationEntry extends JPanel { 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]; diff --git a/src/share/classes/sun/tools/jconsole/inspector/TableSorter.java b/src/share/classes/sun/tools/jconsole/inspector/TableSorter.java index 4894d4a68..b89ab728a 100644 --- a/src/share/classes/sun/tools/jconsole/inspector/TableSorter.java +++ b/src/share/classes/sun/tools/jconsole/inspector/TableSorter.java @@ -94,7 +94,7 @@ public class TableSorter extends DefaultTableModel implements MouseListener { @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) diff --git a/src/share/classes/sun/tools/jconsole/inspector/ThreadDialog.java b/src/share/classes/sun/tools/jconsole/inspector/ThreadDialog.java index d7b609583..dbcdd63ca 100644 --- a/src/share/classes/sun/tools/jconsole/inspector/ThreadDialog.java +++ b/src/share/classes/sun/tools/jconsole/inspector/ThreadDialog.java @@ -28,7 +28,6 @@ package sun.tools.jconsole.inspector; // java import import java.awt.*; import javax.swing.*; -import java.io.*; // public class ThreadDialog implements Runnable { diff --git a/src/share/classes/sun/tools/jconsole/inspector/Utils.java b/src/share/classes/sun/tools/jconsole/inspector/Utils.java index 885af9569..cc97c4e1f 100644 --- a/src/share/classes/sun/tools/jconsole/inspector/Utils.java +++ b/src/share/classes/sun/tools/jconsole/inspector/Utils.java @@ -284,7 +284,7 @@ public class Utils { */ 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) { diff --git a/src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java b/src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java index 8f4abfc7a..b42d5c670 100644 --- a/src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java +++ b/src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java @@ -46,9 +46,9 @@ class XArrayDataViewer { 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 { diff --git a/src/share/classes/sun/tools/jconsole/inspector/XDataViewer.java b/src/share/classes/sun/tools/jconsole/inspector/XDataViewer.java index 0742748ab..c820d8319 100644 --- a/src/share/classes/sun/tools/jconsole/inspector/XDataViewer.java +++ b/src/share/classes/sun/tools/jconsole/inspector/XDataViewer.java @@ -34,7 +34,7 @@ import java.awt.Component; 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 class XDataViewer { 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, diff --git a/src/share/classes/sun/tools/jconsole/inspector/XMBeanAttributes.java b/src/share/classes/sun/tools/jconsole/inspector/XMBeanAttributes.java index 0fe157f96..474b92801 100644 --- a/src/share/classes/sun/tools/jconsole/inspector/XMBeanAttributes.java +++ b/src/share/classes/sun/tools/jconsole/inspector/XMBeanAttributes.java @@ -66,9 +66,9 @@ import javax.swing.table.TableColumn; 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 @@ public class XMBeanAttributes extends XTable { 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 class XMBeanAttributes extends XTable { 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 @@ public class XMBeanAttributes extends XTable { 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 @@ public class XMBeanAttributes extends XTable { comp, rowMinHeight); - mbeansTab.getDataViewer().registerForMouseEvent( + XDataViewer.registerForMouseEvent( comp, mouseListener); } else return cell; @@ -724,7 +724,7 @@ public class XMBeanAttributes extends XTable { 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 @@ public class XMBeanAttributes extends XTable { } } - //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 @@ public class XMBeanAttributes extends XTable { 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 @@ public class XMBeanAttributes extends XTable { } } - @SuppressWarnings("serial") class ValueCellEditor extends XTextFieldEditor { // implements javax.swing.table.TableCellEditor @Override @@ -866,7 +865,6 @@ public class XMBeanAttributes extends XTable { } } - @SuppressWarnings("serial") class MaximizedCellRenderer extends DefaultTableCellRenderer { Component comp; MaximizedCellRenderer(Component comp) { @@ -1018,7 +1016,7 @@ public class XMBeanAttributes extends XTable { (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 @@ public class XMBeanAttributes extends XTable { } 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 @@ public class XMBeanAttributes extends XTable { } // 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 @@ public class XMBeanAttributes extends XTable { : ex.toString(); EventQueue.invokeLater( new ThreadDialog(component, message+"\n", - Resources.getText(key), + title, JOptionPane.ERROR_MESSAGE)); } } diff --git a/src/share/classes/sun/tools/jconsole/inspector/XMBeanInfo.java b/src/share/classes/sun/tools/jconsole/inspector/XMBeanInfo.java index c98c48219..cac986ad1 100644 --- a/src/share/classes/sun/tools/jconsole/inspector/XMBeanInfo.java +++ b/src/share/classes/sun/tools/jconsole/inspector/XMBeanInfo.java @@ -35,7 +35,8 @@ import javax.swing.*; 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 @@ import static sun.tools.jconsole.Utilities.*; 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 @@ public class XMBeanInfo extends JPanel { 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 @@ public class XMBeanInfo extends JPanel { 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 @@ public class XMBeanInfo extends JPanel { 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 @@ public class XMBeanInfo extends JPanel { 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 @@ public class XMBeanInfo extends JPanel { 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 @@ public class XMBeanInfo extends JPanel { 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 @@ public class XMBeanInfo extends JPanel { 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 @@ public class XMBeanInfo extends JPanel { 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 @@ public class XMBeanInfo extends JPanel { 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); diff --git a/src/share/classes/sun/tools/jconsole/inspector/XMBeanNotifications.java b/src/share/classes/sun/tools/jconsole/inspector/XMBeanNotifications.java index 2d11b8a6b..5077797bd 100644 --- a/src/share/classes/sun/tools/jconsole/inspector/XMBeanNotifications.java +++ b/src/share/classes/sun/tools/jconsole/inspector/XMBeanNotifications.java @@ -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.CompositeData; 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 listeners = new HashMap(); @@ -183,7 +182,7 @@ public class XMBeanNotifications extends JTable implements NotificationListener } 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 @@ public class XMBeanNotifications extends JTable implements NotificationListener class XMBeanNotificationsListener implements NotificationListener { - private String[] columnNames; private XMBean xmbean; private DefaultMutableTreeNode node; private volatile long received; @@ -615,7 +613,6 @@ public class XMBeanNotifications extends JTable implements NotificationListener this.notifications = notifications; this.xmbean = xmbean; this.node = node; - this.columnNames = columnNames; register(node); } diff --git a/src/share/classes/sun/tools/jconsole/inspector/XObject.java b/src/share/classes/sun/tools/jconsole/inspector/XObject.java index 9e562863e..303090aba 100644 --- a/src/share/classes/sun/tools/jconsole/inspector/XObject.java +++ b/src/share/classes/sun/tools/jconsole/inspector/XObject.java @@ -28,17 +28,6 @@ package sun.tools.jconsole.inspector; // 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. diff --git a/src/share/classes/sun/tools/jconsole/inspector/XOpenTypeViewer.java b/src/share/classes/sun/tools/jconsole/inspector/XOpenTypeViewer.java index fb4ddf16c..108ff7a21 100644 --- a/src/share/classes/sun/tools/jconsole/inspector/XOpenTypeViewer.java +++ b/src/share/classes/sun/tools/jconsole/inspector/XOpenTypeViewer.java @@ -28,33 +28,21 @@ package sun.tools.jconsole.inspector; 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 @@ public class XOpenTypeViewer extends JPanel implements ActionListener { 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 @@ public class XOpenTypeViewer extends JPanel implements ActionListener { 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 @@ public class XOpenTypeViewer extends JPanel implements ActionListener { 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 @@ public class XOpenTypeViewer extends JPanel implements ActionListener { 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) c1).compareTo(c2); if (result != 0) return result; } @@ -358,7 +345,7 @@ public class XOpenTypeViewer extends JPanel implements ActionListener { 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 @@ public class XOpenTypeViewer extends JPanel implements ActionListener { private void load(CompositeData data) { CompositeType type = data.getCompositeType(); - Set keys = type.keySet(); - Iterator it = keys.iterator(); + Set keys = type.keySet(); + Iterator it = keys.iterator(); Object[] rowData = new Object[2]; while (it.hasNext()) { String key = (String) it.next(); @@ -408,13 +395,13 @@ public class XOpenTypeViewer extends JPanel implements ActionListener { 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 @@ public class XOpenTypeViewer extends JPanel implements ActionListener { 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 class XOpenTypeViewer extends JPanel implements ActionListener { 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 class XOpenTypeViewer extends JPanel implements ActionListener { 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 @@ public class XOpenTypeViewer extends JPanel implements ActionListener { 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 @@ public class XOpenTypeViewer extends JPanel implements ActionListener { 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 @@ public class XOpenTypeViewer extends JPanel implements ActionListener { 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 @@ public class XOpenTypeViewer extends JPanel implements ActionListener { 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(); diff --git a/src/share/classes/sun/tools/jconsole/inspector/XOperations.java b/src/share/classes/sun/tools/jconsole/inspector/XOperations.java index a6e7f8b74..b4f24fa20 100644 --- a/src/share/classes/sun/tools/jconsole/inspector/XOperations.java +++ b/src/share/classes/sun/tools/jconsole/inspector/XOperations.java @@ -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 @@ public abstract class XOperations extends JPanel implements ActionListener { } 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 @@ public abstract class XOperations extends JPanel implements ActionListener { } new ThreadDialog( button, - Resources.getText("Problem invoking") + " " + + Messages.PROBLEM_INVOKING + " " + button.getText() + " : " + t.toString(), - Resources.getText("Error"), + Messages.ERROR, JOptionPane.ERROR_MESSAGE).run(); } } diff --git a/src/share/classes/sun/tools/jconsole/inspector/XPlotter.java b/src/share/classes/sun/tools/jconsole/inspector/XPlotter.java index bcb34adc1..00fdff8e1 100644 --- a/src/share/classes/sun/tools/jconsole/inspector/XPlotter.java +++ b/src/share/classes/sun/tools/jconsole/inspector/XPlotter.java @@ -27,7 +27,6 @@ package sun.tools.jconsole.inspector; import sun.tools.jconsole.Plotter; import javax.swing.JTable; -import java.awt.Graphics; @SuppressWarnings("serial") public class XPlotter extends Plotter { diff --git a/src/share/classes/sun/tools/jconsole/inspector/XPlottingViewer.java b/src/share/classes/sun/tools/jconsole/inspector/XPlottingViewer.java index 280759fde..f1e768c1f 100644 --- a/src/share/classes/sun/tools/jconsole/inspector/XPlottingViewer.java +++ b/src/share/classes/sun/tools/jconsole/inspector/XPlottingViewer.java @@ -45,10 +45,7 @@ public class XPlottingViewer extends PlotterPanel implements ActionListener { new HashMap(); private static HashMap timerCache = new HashMap(); - 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 @@ public class XPlottingViewer extends PlotterPanel implements ActionListener { 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 @@ public class XPlottingViewer extends PlotterPanel implements ActionListener { } static void dispose(MBeansTab tab) { - Iterator it = plotterCache.keySet().iterator(); + Iterator 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 @@ public class XPlottingViewer extends PlotterPanel implements ActionListener { 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); diff --git a/src/share/classes/sun/tools/jconsole/inspector/XSheet.java b/src/share/classes/sun/tools/jconsole/inspector/XSheet.java index 3739f40c3..f9f5bc484 100644 --- a/src/share/classes/sun/tools/jconsole/inspector/XSheet.java +++ b/src/share/classes/sun/tools/jconsole/inspector/XSheet.java @@ -57,8 +57,6 @@ import javax.swing.tree.DefaultTreeModel; 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 @@ public class XSheet extends JPanel 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 @@ public class XSheet extends JPanel t.printStackTrace(); } showErrorDialog(t.toString(), - Resources.getText("Problem displaying MBean")); + Messages.PROBLEM_DISPLAYING_MBEAN); } } }; @@ -279,7 +273,7 @@ public class XSheet extends JPanel 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 @@ public class XSheet extends JPanel t.printStackTrace(); } showErrorDialog(t.toString(), - Resources.getText("Problem displaying MBean")); + Messages.PROBLEM_DISPLAYING_MBEAN); } } }; @@ -333,7 +327,7 @@ public class XSheet extends JPanel 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 @@ public class XSheet extends JPanel 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 @@ public class XSheet extends JPanel t.printStackTrace(); } showErrorDialog(t.toString(), - Resources.getText("Problem displaying MBean")); + Messages.PROBLEM_DISPLAYING_MBEAN); } } }; @@ -442,7 +436,7 @@ public class XSheet extends JPanel 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 @@ public class XSheet extends JPanel t.printStackTrace(); } showErrorDialog(t.toString(), - Resources.getText("Problem displaying MBean")); + Messages.PROBLEM_DISPLAYING_MBEAN); } } }; @@ -479,7 +473,7 @@ public class XSheet extends JPanel 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 @@ public class XSheet extends JPanel t.printStackTrace(); } showErrorDialog(t.getMessage(), - Resources.getText("Problem adding listener")); + Messages.PROBLEM_ADDING_LISTENER); } } }.execute(); @@ -557,7 +551,7 @@ public class XSheet extends JPanel t.printStackTrace(); } showErrorDialog(t.getMessage(), - Resources.getText("Problem removing listener")); + Messages.PROBLEM_REMOVING_LISTENER); } } }.execute(); @@ -586,7 +580,7 @@ public class XSheet extends JPanel // 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 = "" + text + ""; @@ -600,7 +594,7 @@ public class XSheet extends JPanel // Call on EDT private void clearNotifications() { updateNotificationsNodeLabel(currentNode, - Resources.getText("Notifications")); + Messages.NOTIFICATIONS); } /** @@ -609,7 +603,7 @@ public class XSheet extends JPanel // Call on EDT private void clearNotifications0() { updateNotificationsNodeLabel(currentNode, - Resources.getText("Notifications") + "[0]"); + Messages.NOTIFICATIONS + "[0]"); } /** @@ -712,7 +706,7 @@ public class XSheet extends JPanel 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( diff --git a/src/share/classes/sun/tools/jconsole/inspector/XTable.java b/src/share/classes/sun/tools/jconsole/inspector/XTable.java index 3d090d684..172ded8f7 100644 --- a/src/share/classes/sun/tools/jconsole/inspector/XTable.java +++ b/src/share/classes/sun/tools/jconsole/inspector/XTable.java @@ -36,7 +36,7 @@ import javax.swing.table.TableCellRenderer; 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 @@ public abstract class XTable extends JTable { if (defaultColor == null) { defaultColor = tcr.getForeground(); editableColor = Color.blue; - droppableColor = Color.green; errorColor = Color.red; // this sometimes happens for some reason if (defaultColor == null) { diff --git a/src/share/classes/sun/tools/jconsole/inspector/XTextField.java b/src/share/classes/sun/tools/jconsole/inspector/XTextField.java index 882a427a6..2cb235999 100644 --- a/src/share/classes/sun/tools/jconsole/inspector/XTextField.java +++ b/src/share/classes/sun/tools/jconsole/inspector/XTextField.java @@ -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 @@ public class XTextField extends JPanel 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 class XTextField extends JPanel } 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 @@ public class XTextField extends JPanel 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 @@ public class XTextField extends JPanel } } - - - - - 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 @@ public class XTextField extends JPanel } } - private JPopupMenu buildEditPopupMenu() { - JPopupMenu menu = new JPopupMenu(); - return menu; - } - - // ACTIONLISTENER IMPLEMENTATION public void actionPerformed(ActionEvent e) { if (e.getSource() instanceof JTextField) { diff --git a/src/share/classes/sun/tools/jconsole/inspector/XTree.java b/src/share/classes/sun/tools/jconsole/inspector/XTree.java index f81160e73..303d9dc0b 100644 --- a/src/share/classes/sun/tools/jconsole/inspector/XTree.java +++ b/src/share/classes/sun/tools/jconsole/inspector/XTree.java @@ -32,7 +32,7 @@ import javax.swing.*; 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 @@ public class XTree extends JTree { * 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 @@ public class XTree extends JTree { * 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 @@ public class XTree extends JTree { Set metadataNodes = new HashSet(); 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 @@ public class XTree extends JTree { 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 @@ public class XTree extends JTree { 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 @@ public class XTree extends JTree { 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) { diff --git a/src/share/classes/sun/tools/jconsole/inspector/XTreeRenderer.java b/src/share/classes/sun/tools/jconsole/inspector/XTreeRenderer.java index 62b8843a3..fb885d7b9 100644 --- a/src/share/classes/sun/tools/jconsole/inspector/XTreeRenderer.java +++ b/src/share/classes/sun/tools/jconsole/inspector/XTreeRenderer.java @@ -30,8 +30,6 @@ import javax.swing.ImageIcon; 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 { diff --git a/src/share/classes/sun/tools/jconsole/resources/JConsoleResources.java b/src/share/classes/sun/tools/jconsole/resources/JConsoleResources.java deleted file mode 100644 index 2bbc0871c..000000000 --- a/src/share/classes/sun/tools/jconsole/resources/JConsoleResources.java +++ /dev/null @@ -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.*; - -/** - *

This class represents the ResourceBundle - * for the following package(s): - * - *

    - *
  1. sun.tools.jconsole - *
- * - *

- * Subclasses must override getContents0 and provide an array, - * where each item in the array consists of a String key, - * and either a String value associated with that key, - * or if the keys ends with ".mnemonic", an element - * representing a mnemomic keycode int or char. - */ -public class JConsoleResources extends ListResourceBundle { - - /** - * Returns the contents of this ResourceBundle. - * - *

- * - * @return the contents of this ResourceBundle. - */ - 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", "Loaded: {0} Unloaded: {1} Total: {2}"}, - {"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", "

File already exists:
{0}
Do you want to replace it?"}, - {"FileChooser.fileExists.okOption", "Replace"}, - {"FileChooser.fileExists.title", "File Exists"}, - {"FileChooser.savedFile", "Saved to file:
{0}
({1} bytes)"}, - {"FileChooser.saveFailed.message", "
Save to file failed:
{0}
{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:
{0}"}, - {"Help.AboutDialog.javaVersion", "Java VM version:
{0}"}, - {"Help.AboutDialog.masthead.accessibleName", "Masthead Graphic"}, - {"Help.AboutDialog.masthead.title", "About JConsole"}, - {"Help.AboutDialog.title", "JConsole: About"}, - {"Help.AboutDialog.userGuideLink", "JConsole User Guide:
{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","Note: The management agent is not enabled on this process."}, - {"Management Will Be Enabled","Note: 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", "Used: {0} Committed: {1} Max: {2}"}, - {"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", "Live: {0} Peak: {1} Total: {2}"}, - {"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","Usage: <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.
" + - "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.
" + - "Would you like to reconnect?"}, - {"connectingTo1","Connecting to {0}"}, - {"connectingTo2","You are currently being connected to {0}.
" + - "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 ] [ -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:://...)\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 This class represents the ResourceBundle - * for the following package(s): - * - *
    - *
  1. sun.tools.jconsole - *
- * - *

- * Subclasses must override getContents0 and provide an array, - * where each item in the array consists of a String key, - * and either a String value associated with that key, - * or if the keys ends with ".mnemonic", an element - * representing a mnemomic keycode int or char. - */ -public class JConsoleResources_ja extends JConsoleResources { - - /** - * Returns the contents of this ResourceBundle. - * - *

- * - * @return the contents of this ResourceBundle. - */ - 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", "\u30ED\u30FC\u30C9\u6E08: {0} \u672A\u30ED\u30FC\u30C9: {1} \u5408\u8A08: {2}"}, - {"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", "

\u30D5\u30A1\u30A4\u30EB\u306F\u3059\u3067\u306B\u5B58\u5728\u3057\u3066\u3044\u307E\u3059:
{0}
\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", "\u30D5\u30A1\u30A4\u30EB\u306B\u4FDD\u5B58\u3057\u307E\u3057\u305F:
{0}
({1}\u30D0\u30A4\u30C8)"}, - {"FileChooser.saveFailed.message", "
\u30D5\u30A1\u30A4\u30EB\u3078\u306E\u4FDD\u5B58\u306B\u5931\u6557\u3057\u307E\u3057\u305F:
{0}
{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:
{0}"}, - {"Help.AboutDialog.javaVersion", "Java VM\u30D0\u30FC\u30B8\u30E7\u30F3:
{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):
{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","\u6CE8\u610F: \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","\u6CE8\u610F: \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", "\u4F7F\u7528\u6E08: {0} \u30B3\u30DF\u30C3\u30C8\u6E08: {1} \u6700\u5927: {2}"}, - {"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", "\u5B9F\u884C\u4E2D: {0} \u30D4\u30FC\u30AF: {1} \u5408\u8A08: {2}"}, - {"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","\u4F7F\u7528\u65B9\u6CD5: <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
\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
\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
\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 ] [ -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:://...)\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 This class represents the ResourceBundle - * for the following package(s): - * - *
    - *
  1. sun.tools.jconsole - *
- * - *

- * Subclasses must override getContents0 and provide an array, - * where each item in the array consists of a String key, - * and either a String value associated with that key, - * or if the keys ends with ".mnemonic", an element - * representing a mnemomic keycode int or char. - */ -public class JConsoleResources_zh_CN extends JConsoleResources { - - /** - * Returns the contents of this ResourceBundle. - * - *

- * - * @return the contents of this ResourceBundle. - */ - 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", "\u5DF2\u52A0\u8F7D: {0} \u5DF2\u5378\u8F7D: {1} \u603B\u8BA1: {2}"}, - {"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", "

\u6587\u4EF6\u5DF2\u5B58\u5728:
{0}
\u662F\u5426\u8981\u66FF\u6362?"}, - {"FileChooser.fileExists.okOption", "\u66FF\u6362"}, - {"FileChooser.fileExists.title", "\u6587\u4EF6\u5DF2\u5B58\u5728"}, - {"FileChooser.savedFile", "\u5DF2\u4FDD\u5B58\u5230\u6587\u4EF6:
{0}
({1} \u5B57\u8282)"}, - {"FileChooser.saveFailed.message", "
\u672A\u80FD\u4FDD\u5B58\u5230\u6587\u4EF6:
{0}
{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:
{0}"}, - {"Help.AboutDialog.javaVersion", "Java VM \u7248\u672C:
{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):
{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","\u6CE8: \u672A\u5BF9\u6B64\u8FDB\u7A0B\u542F\u7528\u7BA1\u7406\u4EE3\u7406\u3002"}, - {"Management Will Be Enabled","\u6CE8: \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", "\u5DF2\u7528: {0} \u5DF2\u63D0\u4EA4: {1} \u6700\u5927: {2}"}, - {"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", "\u6D3B\u52A8: {0} \u5CF0\u503C: {1} \u603B\u8BA1: {2}"}, - {"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","\u7528\u6CD5: <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
\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
\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
\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 ] [ -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 +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=Loaded: {0} Unloaded: {1} Total: {2} +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=
File already exists:
{0}
Do you want to replace it? +FILE_CHOOSER_FILE_EXISTS_OK_OPTION=Replace +FILE_CHOOSER_FILE_EXISTS_TITLE=File Exists +FILE_CHOOSER_SAVED_FILE=Saved to file:
{0}
({1} bytes) +FILE_CHOOSER_SAVE_FAILED_MESSAGE=
Save to file failed:
{0}
{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:
{0} +HELP_ABOUT_DIALOG_JAVA_VERSION=Java VM version:
{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:
{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=Note: The management agent is not enabled on this process. +MANAGEMENT_WILL_BE_ENABLED=Note: 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=Used: {0} Committed: {1} Max: {2} +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=Usage: <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.
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}.
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 ] [ -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:://...)\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 diff --git a/src/share/classes/sun/tools/jconsole/resources/messages_ja.properties b/src/share/classes/sun/tools/jconsole/resources/messages_ja.properties new file mode 100644 index 000000000..195a1fe47 --- /dev/null +++ b/src/share/classes/sun/tools/jconsole/resources/messages_ja.properties @@ -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=\u30ed\u30fc\u30c9\u6e08: {0} \u672a\u30ed\u30fc\u30c9: {1} \u5408\u8a08: {2} +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=
\u30d5\u30a1\u30a4\u30eb\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u3066\u3044\u307e\u3059:
{0}
\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=\u30d5\u30a1\u30a4\u30eb\u306b\u4fdd\u5b58\u3057\u307e\u3057\u305f:
{0}
({1}\u30d0\u30a4\u30c8) +FILE_CHOOSER_SAVE_FAILED_MESSAGE=
\u30d5\u30a1\u30a4\u30eb\u3078\u306e\u4fdd\u5b58\u306b\u5931\u6557\u3057\u307e\u3057\u305f:
{0}
{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:
{0} +HELP_ABOUT_DIALOG_JAVA_VERSION=Java VM\u30d0\u30fc\u30b8\u30e7\u30f3:
{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):
{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=\u6ce8\u610f: \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=\u6ce8\u610f: \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=\u4f7f\u7528\u6e08: {0} \u30b3\u30df\u30c3\u30c8\u6e08: {1} \u6700\u5927: {2} +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=\u4f7f\u7528\u65b9\u6cd5: <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
\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
\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 ] [ -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:://...)\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 diff --git a/src/share/classes/sun/tools/jconsole/resources/messages_zh_CN.properties b/src/share/classes/sun/tools/jconsole/resources/messages_zh_CN.properties new file mode 100644 index 000000000..48964c7da --- /dev/null +++ b/src/share/classes/sun/tools/jconsole/resources/messages_zh_CN.properties @@ -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=\u5df2\u52a0\u8f7d: {0} \u5df2\u5378\u8f7d: {1} \u603b\u8ba1: {2} +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=
\u6587\u4ef6\u5df2\u5b58\u5728:
{0}
\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=\u5df2\u4fdd\u5b58\u5230\u6587\u4ef6:
{0}
({1} \u5b57\u8282) +FILE_CHOOSER_SAVE_FAILED_MESSAGE=
\u672a\u80fd\u4fdd\u5b58\u5230\u6587\u4ef6:
{0}
{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:
{0} +HELP_ABOUT_DIALOG_JAVA_VERSION=Java VM \u7248\u672c:
{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):
{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=\u6ce8: \u672a\u5bf9\u6b64\u8fdb\u7a0b\u542f\u7528\u7ba1\u7406\u4ee3\u7406\u3002 +MANAGEMENT_WILL_BE_ENABLED=\u6ce8: \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=\u5df2\u7528: {0} \u5df2\u63d0\u4ea4: {1} \u6700\u5927: {2} +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=\u7528\u6cd5: <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
\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
\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 ] [ -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 -- GitLab