src/share/classes/sun/tools/jconsole/ThreadTab.java
Print this page
rev 5340 : 7017818: NLS: JConsoleResources.java cannot be handled by translation team
Reviewed-by: duke
@@ -33,27 +33,25 @@
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.event.*;
+import sun.tools.jconsole.resources.Messages;
+
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.*;
@SuppressWarnings("serial")
class ThreadTab extends Tab implements ActionListener, DocumentListener, ListSelectionListener {
PlotterPanel threadMeter;
TimeComboBox timeComboBox;
JTabbedPane threadListTabbedPane;
- DefaultListModel listModel;
+ DefaultListModel<Long> listModel;
JTextField filterTF;
JLabel messageLabel;
JSplitPane threadsSplitPane;
HashMap<Long, String> nameCache = new HashMap<Long, String>();
@@ -62,13 +60,10 @@
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;
private static final Border thinEmptyBorder = new EmptyBorder(2, 2, 2, 2);
@@ -91,11 +86,11 @@
*/
public static String getTabName() {
- return Resources.getText("Threads");
+ return Messages.THREADS;
}
public ThreadTab(VMPanel vmPanel) {
super(vmPanel, getTabName());
@@ -109,32 +104,32 @@
add(plotterPanel, BorderLayout.CENTER);
JPanel controlPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 20, 5));
topPanel.add(controlPanel, BorderLayout.CENTER);
- threadMeter = new PlotterPanel(Resources.getText("Number of Threads"),
+ threadMeter = new PlotterPanel(Messages.NUMBER_OF_THREADS,
Plotter.Unit.NONE, true);
- threadMeter.plotter.createSequence(threadCountKey, threadCountName, threadCountColor, true);
- threadMeter.plotter.createSequence(peakKey, peakName, peakColor, true);
+ threadMeter.plotter.createSequence(threadCountKey, Messages.LIVE_THREADS, threadCountColor, true);
+ threadMeter.plotter.createSequence(peakKey, Messages.PEAK, peakColor, true);
setAccessibleName(threadMeter.plotter,
- getText("ThreadTab.threadPlotter.accessibleName"));
+ Messages.THREAD_TAB_THREAD_PLOTTER_ACCESSIBLE_NAME);
plotterPanel.add(threadMeter);
timeComboBox = new TimeComboBox(threadMeter.plotter);
- controlPanel.add(new LabeledComponent(Resources.getText("Time Range:"),
- getMnemonicInt("Time Range:"),
+ controlPanel.add(new LabeledComponent(Messages.TIME_RANGE_COLON,
+ Resources.getMnemonicInt(Messages.TIME_RANGE_COLON),
timeComboBox));
- listModel = new DefaultListModel();
+ listModel = new DefaultListModel<Long>();
JTextArea textArea = new JTextArea();
textArea.setBorder(thinEmptyBorder);
textArea.setEditable(false);
setAccessibleName(textArea,
- getText("ThreadTab.threadInfo.accessibleName"));
- JList list = new ThreadJList(listModel, textArea);
+ Messages.THREAD_TAB_THREAD_INFO_ACCESSIBLE_NAME);
+ ThreadJList list = new ThreadJList(listModel, textArea);
Dimension di = new Dimension(super.getPreferredSize());
di.width = Math.min(di.width, 200);
JScrollPane threadlistSP = new JScrollPane(list);
@@ -163,23 +158,23 @@
JSeparator separator = new JSeparator(JSeparator.VERTICAL);
separator.setPreferredSize(new Dimension(separator.getPreferredSize().width,
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();
firstTabToolPanel.add(messageLabel);
firstTabPanel.add(threadsSplitPane, BorderLayout.CENTER);
firstTabPanel.add(firstTabToolPanel, BorderLayout.SOUTH);
- threadListTabbedPane.addTab(Resources.getText("Threads"), firstTabPanel);
+ threadListTabbedPane.addTab(Messages.THREADS, firstTabPanel);
plotterPanel.add(threadListTabbedPane);
}
private long oldThreads[] = new long[0];
@@ -354,36 +349,36 @@
// VM doesn't support monitor usage monitoring
ti = threadMBean.getThreadInfo(threadID, Integer.MAX_VALUE);
}
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()));
}
}
}
index++;
}
@@ -427,11 +422,11 @@
new Thread() {
public void run() {
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();
}
});
sleep(30 * 1000);
@@ -457,17 +452,17 @@
threadListTabbedPane.removeTabAt(1);
}
if (deadlockedThreads != null) {
for (int i = 0; i < deadlockedThreads.length; i++) {
- DefaultListModel listModel = new DefaultListModel();
+ DefaultListModel<Long> listModel = new DefaultListModel<Long>();
JTextArea textArea = new JTextArea();
textArea.setBorder(thinEmptyBorder);
textArea.setEditable(false);
setAccessibleName(textArea,
- getText("ThreadTab.threadInfo.accessibleName"));
- JList list = new ThreadJList(listModel, textArea);
+ Messages.THREAD_TAB_THREAD_INFO_ACCESSIBLE_NAME);
+ ThreadJList list = new ThreadJList(listModel, textArea);
JScrollPane threadlistSP = new JScrollPane(list);
JScrollPane textAreaSP = new JScrollPane(textArea);
threadlistSP.setBorder(null);
textAreaSP.setBorder(null);
JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
@@ -475,13 +470,13 @@
splitPane.setOneTouchExpandable(true);
splitPane.setBorder(null);
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);
for (long t : deadlockedThreads[i]) {
listModel.addElement(t);
@@ -589,23 +584,23 @@
doUpdate();
}
- private class ThreadJList extends JList {
+ private class ThreadJList extends JList<Long> {
private JTextArea textArea;
- ThreadJList(DefaultListModel listModel, JTextArea textArea) {
+ ThreadJList(DefaultListModel<Long> listModel, JTextArea textArea) {
super(listModel);
this.textArea = textArea;
setBorder(thinEmptyBorder);
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);
if (value != null) {
String name = nameCache.get(value);
@@ -689,14 +684,14 @@
}
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));
}
}
}