Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
JDK 17 jdk.jconsole.jmod - JConsole Tool
JDK 17 jdk.jconsole.jmod is the JMOD file for JDK 17 JConsole tool, which can be invoked by the "jconsole" command.
JDK 17 JConsole tool compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\jdk.jconsole.jmod.
JDK 17 JConsole tool compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 JConsole tool source code files are stored in \fyicenter\jdk-17.0.5\lib\src.zip\jdk.jconsole.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ sun/tools/jconsole/inspector/XMBeanInfo.java
/* * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package sun.tools.jconsole.inspector; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.GridLayout; import java.util.*; import javax.management.*; import javax.swing.*; import javax.swing.border.TitledBorder; import javax.swing.event.*; import javax.swing.table.*; import sun.tools.jconsole.Messages; import static sun.tools.jconsole.Utilities.*; @SuppressWarnings("serial") public class XMBeanInfo extends JPanel { private static final Color lightYellow = new Color(255, 255, 128); private final int NAME_COLUMN = 0; private final int VALUE_COLUMN = 1; private final String[] columnNames = { Messages.NAME, Messages.VALUE }; private JTable infoTable = new JTable(); private JTable descTable = new JTable(); private JPanel infoBorderPanel = new JPanel(new BorderLayout()); private JPanel descBorderPanel = new JPanel(new BorderLayout()); private static class ReadOnlyDefaultTableModel extends DefaultTableModel { @Override public void setValueAt(Object value, int row, int col) { } } private static class TableRowDivider { private String tableRowDividerText; public TableRowDivider(String tableRowDividerText) { this.tableRowDividerText = tableRowDividerText; } @Override public String toString() { return tableRowDividerText; } } private static MBeanInfoTableCellRenderer renderer = new MBeanInfoTableCellRenderer(); private static class MBeanInfoTableCellRenderer extends DefaultTableCellRenderer { @Override public Component getTableCellRendererComponent( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { Component comp = super.getTableCellRendererComponent( table, value, isSelected, hasFocus, row, column); if (value instanceof TableRowDivider) { JLabel label = new JLabel(value.toString()); label.setBackground(ensureContrast(lightYellow, label.getForeground())); label.setOpaque(true); return label; } return comp; } } private static TableCellEditor editor = new MBeanInfoTableCellEditor(new JTextField()); private static class MBeanInfoTableCellEditor extends Utils.ReadOnlyTableCellEditor { public MBeanInfoTableCellEditor(JTextField tf) { super(tf); } @Override public Component getTableCellEditorComponent( JTable table, Object value, boolean isSelected, int row, int column) { Component comp = super.getTableCellEditorComponent( table, value, isSelected, row, column); if (value instanceof TableRowDivider) { JLabel label = new JLabel(value.toString()); label.setBackground(ensureContrast(lightYellow, label.getForeground())); label.setOpaque(true); return label; } return comp; } } public XMBeanInfo() { // Use the grid layout to display the two tables // super(new GridLayout(2, 1)); // MBean*Info table // infoTable.setModel(new ReadOnlyDefaultTableModel()); infoTable.setRowSelectionAllowed(false); infoTable.setColumnSelectionAllowed(false); infoTable.getTableHeader().setReorderingAllowed(false); ((DefaultTableModel) infoTable.getModel()).setColumnIdentifiers(columnNames); infoTable.getColumnModel().getColumn(NAME_COLUMN).setPreferredWidth(140); infoTable.getColumnModel().getColumn(NAME_COLUMN).setMaxWidth(140); infoTable.getColumnModel().getColumn(NAME_COLUMN).setCellRenderer(renderer); infoTable.getColumnModel().getColumn(VALUE_COLUMN).setCellRenderer(renderer); infoTable.getColumnModel().getColumn(NAME_COLUMN).setCellEditor(editor); infoTable.getColumnModel().getColumn(VALUE_COLUMN).setCellEditor(editor); infoTable.addKeyListener(new Utils.CopyKeyAdapter()); infoTable.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS); JScrollPane infoTableScrollPane = new JScrollPane(infoTable); infoBorderPanel.setBorder( BorderFactory.createTitledBorder("MBeanInfoPlaceHolder")); infoBorderPanel.add(infoTableScrollPane); // Descriptor table // descTable.setModel(new ReadOnlyDefaultTableModel()); descTable.setRowSelectionAllowed(false); descTable.setColumnSelectionAllowed(false); descTable.getTableHeader().setReorderingAllowed(false); ((DefaultTableModel) descTable.getModel()).setColumnIdentifiers(columnNames); descTable.getColumnModel().getColumn(NAME_COLUMN).setPreferredWidth(140); descTable.getColumnModel().getColumn(NAME_COLUMN).setMaxWidth(140); descTable.getColumnModel().getColumn(NAME_COLUMN).setCellRenderer(renderer); descTable.getColumnModel().getColumn(VALUE_COLUMN).setCellRenderer(renderer); descTable.getColumnModel().getColumn(NAME_COLUMN).setCellEditor(editor); descTable.getColumnModel().getColumn(VALUE_COLUMN).setCellEditor(editor); descTable.addKeyListener(new Utils.CopyKeyAdapter()); descTable.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS); JScrollPane descTableScrollPane = new JScrollPane(descTable); descBorderPanel.setBorder( BorderFactory.createTitledBorder(Messages.DESCRIPTOR)); descBorderPanel.add(descTableScrollPane); // Add the two tables to the grid // add(infoBorderPanel); add(descBorderPanel); } // Call on EDT public void emptyInfoTable() { DefaultTableModel tableModel = (DefaultTableModel) infoTable.getModel(); while (tableModel.getRowCount() > 0) { tableModel.removeRow(0); } } // Call on EDT public void emptyDescTable() { DefaultTableModel tableModel = (DefaultTableModel) descTable.getModel(); while (tableModel.getRowCount() > 0) { tableModel.removeRow(0); } } // Call on EDT private void addDescriptor(Descriptor desc, String text) { if (desc != null && desc.getFieldNames().length > 0) { DefaultTableModel tableModel = (DefaultTableModel) descTable.getModel(); Object rowData[] = new Object[2]; rowData[0] = new TableRowDivider(text); rowData[1] = new TableRowDivider(""); tableModel.addRow(rowData); for (String fieldName : desc.getFieldNames()) { rowData[0] = fieldName; Object fieldValue = desc.getFieldValue(fieldName); if (fieldValue instanceof boolean[]) { rowData[1] = Arrays.toString((boolean[]) fieldValue); } else if (fieldValue instanceof byte[]) { rowData[1] = Arrays.toString((byte[]) fieldValue); } else if (fieldValue instanceof char[]) { rowData[1] = Arrays.toString((char[]) fieldValue); } else if (fieldValue instanceof double[]) { rowData[1] = Arrays.toString((double[]) fieldValue); } else if (fieldValue instanceof float[]) { rowData[1] = Arrays.toString((float[]) fieldValue); } else if (fieldValue instanceof int[]) { rowData[1] = Arrays.toString((int[]) fieldValue); } else if (fieldValue instanceof long[]) { rowData[1] = Arrays.toString((long[]) fieldValue); } else if (fieldValue instanceof short[]) { rowData[1] = Arrays.toString((short[]) fieldValue); } else if (fieldValue instanceof Object[]) { rowData[1] = Arrays.toString((Object[]) fieldValue); } else { rowData[1] = fieldValue; } tableModel.addRow(rowData); } tableModel.newDataAvailable(new TableModelEvent(tableModel)); } } // Call on EDT public void addMBeanInfo(XMBean mbean, MBeanInfo mbeanInfo) { emptyInfoTable(); emptyDescTable(); ((TitledBorder) infoBorderPanel.getBorder()).setTitle( 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] = Messages.OBJECT_NAME; rowData[1] = mbean.getObjectName(); tableModel.addRow(rowData); rowData[0] = Messages.CLASS_NAME; rowData[1] = mbeanInfo.getClassName(); tableModel.addRow(rowData); rowData[0] = Messages.DESCRIPTION; rowData[1] = mbeanInfo.getDescription(); tableModel.addRow(rowData); addDescriptor(mbeanInfo.getDescriptor(), text); // MBeanConstructorInfo // int i = 0; for (MBeanConstructorInfo mbci : mbeanInfo.getConstructors()) { addMBeanConstructorInfo(mbci, Messages.CONSTRUCTOR + "-" + i + ":"); // MBeanParameterInfo // int j = 0; for (MBeanParameterInfo mbpi : mbci.getSignature()) { addMBeanParameterInfo(mbpi, Messages.PARAMETER + "-" + i + "-" + j + ":"); j++; } i++; } tableModel.newDataAvailable(new TableModelEvent(tableModel)); } // Call on EDT public void addMBeanAttributeInfo(MBeanAttributeInfo mbai) { emptyInfoTable(); emptyDescTable(); ((TitledBorder) infoBorderPanel.getBorder()).setTitle( 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] = Messages.NAME; rowData[1] = mbai.getName(); tableModel.addRow(rowData); rowData[0] = Messages.DESCRIPTION; rowData[1] = mbai.getDescription(); tableModel.addRow(rowData); rowData[0] = Messages.READABLE; rowData[1] = mbai.isReadable(); tableModel.addRow(rowData); rowData[0] = Messages.WRITABLE; rowData[1] = mbai.isWritable(); tableModel.addRow(rowData); rowData[0] = Messages.IS; rowData[1] = mbai.isIs(); tableModel.addRow(rowData); rowData[0] = Messages.TYPE; rowData[1] = mbai.getType(); tableModel.addRow(rowData); addDescriptor(mbai.getDescriptor(), text); tableModel.newDataAvailable(new TableModelEvent(tableModel)); } // Call on EDT public void addMBeanOperationInfo(MBeanOperationInfo mboi) { emptyInfoTable(); emptyDescTable(); ((TitledBorder) infoBorderPanel.getBorder()).setTitle( 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] = Messages.NAME; rowData[1] = mboi.getName(); tableModel.addRow(rowData); rowData[0] = Messages.DESCRIPTION; rowData[1] = mboi.getDescription(); tableModel.addRow(rowData); rowData[0] = Messages.IMPACT; switch (mboi.getImpact()) { case MBeanOperationInfo.INFO: rowData[1] = Messages.INFO_CAPITALIZED; break; case MBeanOperationInfo.ACTION: rowData[1] = Messages.ACTION_CAPITALIZED; break; case MBeanOperationInfo.ACTION_INFO: rowData[1] = Messages.ACTION_INFO_CAPITALIZED; break; case MBeanOperationInfo.UNKNOWN: rowData[1] = Messages.UNKNOWN_CAPITALIZED; break; } tableModel.addRow(rowData); rowData[0] = Messages.RETURN_TYPE; rowData[1] = mboi.getReturnType(); tableModel.addRow(rowData); addDescriptor(mboi.getDescriptor(), text); // MBeanParameterInfo // int i = 0; for (MBeanParameterInfo mbpi : mboi.getSignature()) { addMBeanParameterInfo(mbpi, Messages.PARAMETER + "-" + i++ + ":"); } tableModel.newDataAvailable(new TableModelEvent(tableModel)); } // Call on EDT public void addMBeanNotificationInfo(MBeanNotificationInfo mbni) { emptyInfoTable(); emptyDescTable(); ((TitledBorder) infoBorderPanel.getBorder()).setTitle( 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] = Messages.NAME; rowData[1] = mbni.getName(); tableModel.addRow(rowData); rowData[0] = Messages.DESCRIPTION; rowData[1] = mbni.getDescription(); tableModel.addRow(rowData); rowData[0] = Messages.NOTIF_TYPES; rowData[1] = Arrays.toString(mbni.getNotifTypes()); tableModel.addRow(rowData); addDescriptor(mbni.getDescriptor(), text); tableModel.newDataAvailable(new TableModelEvent(tableModel)); } // Call on EDT private void addMBeanConstructorInfo(MBeanConstructorInfo mbci, String text) { DefaultTableModel tableModel = (DefaultTableModel) infoTable.getModel(); Object rowData[] = new Object[2]; rowData[0] = new TableRowDivider(text); rowData[1] = new TableRowDivider(""); tableModel.addRow(rowData); rowData[0] = Messages.NAME; rowData[1] = mbci.getName(); tableModel.addRow(rowData); rowData[0] = Messages.DESCRIPTION; rowData[1] = mbci.getDescription(); tableModel.addRow(rowData); addDescriptor(mbci.getDescriptor(), text); tableModel.newDataAvailable(new TableModelEvent(tableModel)); } // Call on EDT private void addMBeanParameterInfo(MBeanParameterInfo mbpi, String text) { DefaultTableModel tableModel = (DefaultTableModel) infoTable.getModel(); Object rowData[] = new Object[2]; rowData[0] = new TableRowDivider(text); rowData[1] = new TableRowDivider(""); tableModel.addRow(rowData); rowData[0] = Messages.NAME; rowData[1] = mbpi.getName(); tableModel.addRow(rowData); rowData[0] = Messages.DESCRIPTION; rowData[1] = mbpi.getDescription(); tableModel.addRow(rowData); rowData[0] = Messages.TYPE; rowData[1] = mbpi.getType(); tableModel.addRow(rowData); addDescriptor(mbpi.getDescriptor(), text); tableModel.newDataAvailable(new TableModelEvent(tableModel)); } }
⏎ sun/tools/jconsole/inspector/XMBeanInfo.java
Or download all of them as a single archive file:
File name: jdk.jconsole-17.0.5-src.zip File size: 169450 bytes Release date: 2022-09-13 Download
⇒ JDK 17 jdk.jdeps.jmod - JDeps Tool
2023-04-17, 3559👍, 0💬
Popular Posts:
Where Can I see Java Source Code files for Xerces Java 2.11.2? Here are Java Source Code files for X...
How to download and install Apache ZooKeeper Source Package? Apache ZooKeeper is an open-source serv...
What Is jtds-1.2.2.jar? jtds-1.2.2.jar is the JAR files of jTDS Java library 1.2.2, which is a JDBC ...
The JSR 105 XML Digital Signature 1.0.1 FCS implementation provides an API and implementation that a...
JDK 11 jdk.jshell.jmod is the JMOD file for JDK 11 JShell tool, which can be invoked by the "jshell"...