Path: blob/master/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ui/VMVersionInfoPanel.java
41161 views
/*1* Copyright (c) 2002, 2021, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation.7*8* This code is distributed in the hope that it will be useful, but WITHOUT9* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11* version 2 for more details (a copy is included in the LICENSE file that12* accompanied this code).13*14* You should have received a copy of the GNU General Public License version15* 2 along with this work; if not, write to the Free Software Foundation,16* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17*18* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19* or visit www.oracle.com if you need additional information or have any20* questions.21*22*/2324package sun.jvm.hotspot.ui;2526import java.awt.*;27import javax.swing.*;2829import sun.jvm.hotspot.runtime.*;3031/** Shows VM version information */3233public class VMVersionInfoPanel extends JPanel {34private JEditorPane versionPane;3536public VMVersionInfoPanel() {37initUI();38}3940private void initUI() {41setLayout(new BorderLayout());42versionPane = new JEditorPane();43versionPane.setContentType("text/html");44versionPane.setEditable(false);45versionPane.setText(getVersionInfo());4647add(versionPane, BorderLayout.CENTER);48}4950private String getVersionInfo() {51VM vm = VM.getVM();52StringBuilder buf = new StringBuilder();53buf.append("<html><head><title>VM Version Info</title></head>");54buf.append("<body><table border='1'>");5556// VM type57buf.append("<tr><td><b>VM Type</b></td>");58buf.append("<td>");59if (vm.isCore()) {60buf.append("<b>core</b>");61} else if(vm.isClientCompiler()) {62buf.append("<b>client</b>");63} else if(vm.isServerCompiler()) {64buf.append("<b>server</b>");65} else {66buf.append("<b>unknown</b>");67}68buf.append("</td></tr>");6970// VM release71String release = vm.getVMRelease();72if (release != null) {73buf.append("<tr><td><b>VM Release</td><td><b>");74buf.append(release);75buf.append("</b></td></tr>");76}7778// VM internal info79String internalInfo = vm.getVMInternalInfo();80if (internalInfo != null) {81buf.append("<tr><td><b>VM Internal Info</td><td><b>");82buf.append(internalInfo);83buf.append("</b></td></tr>");84}8586buf.append("</table></body></html>");87return buf.toString();88}89}909192