📄 editoraboutframe.java
字号:
package com.mxgraph.swing.examples.editor;import java.awt.BorderLayout;import java.awt.Color;import java.awt.FlowLayout;import java.awt.Font;import java.awt.Frame;import java.awt.GradientPaint;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import javax.swing.BorderFactory;import javax.swing.BoxLayout;import javax.swing.JButton;import javax.swing.JComponent;import javax.swing.JDialog;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JRootPane;import javax.swing.KeyStroke;import com.mxgraph.util.mxResources;import com.mxgraph.view.mxGraph;public class EditorAboutFrame extends JDialog{ /** * */ public EditorAboutFrame(Frame owner) { super(owner); setTitle(mxResources.get("aboutGraphEditor")); setLayout(new BorderLayout()); // Creates the gradient panel JPanel panel = new JPanel(new BorderLayout()) { /** * */ public void paintComponent(Graphics g) { super.paintComponent(g); // Paint gradient background Graphics2D g2d = (Graphics2D) g; g2d.setPaint(new GradientPaint(0, 0, Color.WHITE, getWidth(), 0, getBackground())); g2d.fillRect(0, 0, getWidth(), getHeight()); } }; panel.setBorder(BorderFactory.createCompoundBorder(BorderFactory .createMatteBorder(0, 0, 1, 0, Color.GRAY), BorderFactory .createEmptyBorder(8, 8, 12, 8))); // Adds title JLabel titleLabel = new JLabel(mxResources.get("aboutGraphEditor")); titleLabel.setFont(titleLabel.getFont().deriveFont(Font.BOLD)); titleLabel.setBorder(BorderFactory.createEmptyBorder(4, 0, 0, 0)); titleLabel.setOpaque(false); panel.add(titleLabel, BorderLayout.NORTH); // Adds optional subtitle JLabel subtitleLabel = new JLabel( "For more information visit http://www.mxgraph.com/"); subtitleLabel.setBorder(BorderFactory.createEmptyBorder(4, 18, 0, 0)); subtitleLabel.setOpaque(false); panel.add(subtitleLabel, BorderLayout.CENTER); getContentPane().add(panel, BorderLayout.NORTH); JPanel content = new JPanel(); content.setLayout(new BoxLayout(content, BoxLayout.Y_AXIS)); content.setBorder(BorderFactory.createEmptyBorder(12, 12, 12, 12)); content.add(new JLabel("JGraph X - The Swing Portion of mxGraph")); content.add(new JLabel(" ")); content.add(new JLabel("mxGraph Version " + mxGraph.VERSION)); content.add(new JLabel("Copyright (C) 2009 by JGraph Ltd.")); content.add(new JLabel("All rights reserved.")); content.add(new JLabel(" ")); try { content.add(new JLabel("Operating System Name: " + System.getProperty("os.name"))); content.add(new JLabel("Operating System Version: " + System.getProperty("os.version"))); content.add(new JLabel(" ")); content.add(new JLabel("Java Vendor: " + System.getProperty("java.vendor", "undefined"))); content.add(new JLabel("Java Version: " + System.getProperty("java.version", "undefined"))); content.add(new JLabel(" ")); content.add(new JLabel("Total Memory: " + Runtime.getRuntime().totalMemory())); content.add(new JLabel("Free Memory: " + Runtime.getRuntime().freeMemory())); } catch (Exception e) { // ignore } getContentPane().add(content, BorderLayout.CENTER); JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT)); buttonPanel.setBorder(BorderFactory.createCompoundBorder(BorderFactory .createMatteBorder(1, 0, 0, 0, Color.GRAY), BorderFactory .createEmptyBorder(16, 8, 8, 8))); getContentPane().add(buttonPanel, BorderLayout.SOUTH); // Adds OK button to close window JButton closeButton = new JButton("Close"); closeButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { setVisible(false); } }); buttonPanel.add(closeButton); // Sets default button for enter key getRootPane().setDefaultButton(closeButton); setResizable(false); setSize(400, 400); } /** * Overrides {@link JDialog#createRootPane()} to return a root pane that * hides the window when the user presses the ESCAPE key.O */ protected JRootPane createRootPane() { KeyStroke stroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0); JRootPane rootPane = new JRootPane(); rootPane.registerKeyboardAction(new ActionListener() { public void actionPerformed(ActionEvent actionEvent) { setVisible(false); } }, stroke, JComponent.WHEN_IN_FOCUSED_WINDOW); return rootPane; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -