📄 aboutbox.java
字号:
/******************************************************************************
* The contents of this file are subject to the Compiere License Version 1.1
* ("License"); You may not use this file except in compliance with the License
* You may obtain a copy of the License at http://www.compiere.org/license.html
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
* The Original Code is Compiere ERP & CRM Business Solution
* The Initial Developer of the Original Code is Jorg Janke and ComPiere, Inc.
* Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts
* created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved.
* Contributor(s): ______________________________________.
*****************************************************************************/
package org.compiere.apps;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.util.*;
import java.util.jar.*;
import org.compiere.Compiere;
import org.compiere.db.*;
import org.compiere.util.*;
import org.compiere.impexp.*;
import org.compiere.plaf.*;
import org.compiere.swing.*;
/**
* About Dialog
*
* @author Jorg Janke
* @version $Id: AboutBox.java,v 1.11 2003/01/13 05:45:11 jjanke Exp $
*/
public final class AboutBox extends JDialog implements ActionListener
{
/**
* Constructor for modal about dialog
* @param parent parent
*/
public AboutBox(JFrame parent)
{
super(parent, true);
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
try
{
jbInit();
}
catch(Exception e)
{
System.out.println("AboutBox - " + e.getMessage());
}
//
labelVersion.setText(Compiere.MAIN_VERSION + " @ " + Compiere.DATE_VERSION);
labelCopyright.setText(Compiere.COPYRIGHT);
info.setText(getInfo());
// create 5 pt border
Dimension d = imageControl.getPreferredSize();
imageControl.setPreferredSize(new Dimension(d.width+10, d.height+10));
//
AEnv.positionCenterWindow(parent, this);
} // AWindow_AboutBox
private CPanel panel = new CPanel();
private CPanel mainPanel = new CPanel();
private JLabel imageControl = new JLabel();
private JLabel labelHeading = new JLabel();
private JLabel labelVersion = new JLabel();
private JLabel labelCopyright = new JLabel();
private JLabel labelDescription = new JLabel();
private BorderLayout panelLayout = new BorderLayout();
private BorderLayout mainLayout = new BorderLayout();
private CPanel northPanel = new CPanel();
private CPanel headerPanel = new CPanel();
private GridLayout headerLayout = new GridLayout();
private JTextArea info = new JTextArea();
private BorderLayout northLayout = new BorderLayout();
private ConfirmPanel confirmPanel = new ConfirmPanel(false, false, false, false, false, false);
/**
* Init
* @throws Exception
*/
private void jbInit() throws Exception
{
this.setTitle(getMsg("About"));
CompiereColor.setBackground(this);
//
setResizable(false);
labelHeading.setFont(new java.awt.Font("Dialog", 1, 14));
labelHeading.setHorizontalAlignment(SwingConstants.CENTER);
labelHeading.setHorizontalTextPosition(SwingConstants.CENTER);
labelHeading.setText(" Smart ERP & CRM Business Solution ");
labelVersion.setHorizontalAlignment(SwingConstants.CENTER);
labelVersion.setHorizontalTextPosition(SwingConstants.CENTER);
labelVersion.setText(".");
labelCopyright.setHorizontalAlignment(SwingConstants.CENTER);
labelCopyright.setHorizontalTextPosition(SwingConstants.CENTER);
labelCopyright.setText(".");
labelDescription.setForeground(Color.blue);
labelDescription.setHorizontalAlignment(SwingConstants.CENTER);
labelDescription.setHorizontalTextPosition(SwingConstants.CENTER);
labelDescription.setText(Compiere.getURL());
//
imageControl.setFont(new java.awt.Font("Serif", 2, 10));
imageControl.setForeground(Color.blue);
imageControl.setAlignmentX((float) 0.5);
imageControl.setHorizontalAlignment(SwingConstants.CENTER);
imageControl.setHorizontalTextPosition(SwingConstants.CENTER);
imageControl.setIcon(Compiere.getImageIconLogo());
imageControl.setText(Compiere.getSubtitle());
imageControl.setVerticalTextPosition(SwingConstants.BOTTOM);
//
mainPanel.setLayout(mainLayout);
mainLayout.setHgap(5);
mainLayout.setVgap(5);
northPanel.setLayout(northLayout);
northLayout.setHgap(10);
northLayout.setVgap(10);
panel.setLayout(panelLayout);
panelLayout.setHgap(10);
panelLayout.setVgap(10);
headerPanel.setLayout(headerLayout);
headerLayout.setColumns(1);
headerLayout.setRows(4);
//
info.setMargin(new Insets(10, 10, 10, 10));
info.setBackground(CompierePLAF.getFieldBackground_Inactive());
info.setEditable(false);
info.setRequestFocusEnabled(false);
this.getContentPane().add(panel, null);
panel.add(northPanel, BorderLayout.NORTH);
northPanel.add(imageControl, BorderLayout.WEST);
northPanel.add(headerPanel, BorderLayout.CENTER);
headerPanel.add(labelHeading, null);
headerPanel.add(labelCopyright, null);
headerPanel.add(labelVersion, null);
headerPanel.add(labelDescription, null);
panel.add(mainPanel, BorderLayout.CENTER);
mainPanel.add(info, BorderLayout.CENTER);
mainPanel.add(confirmPanel, BorderLayout.SOUTH);
confirmPanel.addActionListener(this);
} // jbInit
/**
* Get Compiere Info
* @return Info as multiple Line String
*/
public static String getInfo()
{
StringBuffer sb = new StringBuffer();
final String eq = " = ";
final String nl = "\n";
sb.append(getMsg("Host")).append(eq) .append(getServerInfo()).append(nl);
sb.append(getMsg("Database")).append(eq) .append(getDatabaseInfo()).append(nl);
sb.append(getMsg("Schema")).append(eq) .append(CConnection.get().getDbUid()).append(nl);
//
sb.append(getMsg("AD_User_ID")).append(eq) .append(Env.getContext(Env.getCtx(), "#AD_User_Name")).append(nl);
sb.append(getMsg("AD_Role_ID")).append(eq) .append(Env.getContext(Env.getCtx(), "#AD_Role_Name")).append(nl);
//
sb.append(getMsg("AD_Client_ID")).append(eq).append(Env.getContext(Env.getCtx(), "#AD_Client_Name")).append(nl);
sb.append(getMsg("AD_Org_ID")).append(eq) .append(Env.getContext(Env.getCtx(), "#AD_Org_Name")).append(nl);
//
sb.append(getMsg("Date")).append(eq) .append(Env.getContext(Env.getCtx(), "#Date")).append(nl);
sb.append(getMsg("Printer")).append(eq) .append(Env.getContext(Env.getCtx(), "#Printer")).append(nl);
//
Manifest mf = ZipUtil.getManifest("CClient.jar");
if (mf == null)
mf = ZipUtil.getManifest("CTools.jar");
if (mf != null)
{
Attributes atts = mf.getMainAttributes();
if (atts != null)
{
Iterator it = atts.keySet().iterator();
while (it.hasNext())
{
Object key = it.next();
if (key.toString().startsWith("Impl") || key.toString().startsWith("Spec"))
sb.append(key).append(eq).append(atts.get(key)).append(nl);
}
}
}
sb.deleteCharAt(sb.length()-1); // remove last nl
return sb.toString();
} // getInfo
/**
* Get translated Message, if DB connection exists
* @param msg AD_Message
* @return translated msg if connected
*/
private static String getMsg (String msg)
{
if (DB.isConnected())
return Msg.translate(Env.getCtx(), msg);
return msg;
} // getMsg
/**
* Get Server Info.
* @return host : port (NotActive) via CMhost : port
*/
private static String getServerInfo()
{
StringBuffer sb = new StringBuffer();
// Host
sb.append(CConnection.get().getAppsHost()).append(" : ")
.append(CConnection.get().getAppsPort())
.append(" (");
// Server
if (AEnv.isServerActive())
sb.append(AEnv.getServerVersion ());
else
sb.append(getMsg("NotActive"));
sb.append(") ");
// Connection Manager
if (CConnection.get().isViaFirewall())
sb.append(getMsg("via")).append(" ")
.append(CConnection.get().getFwHost()).append(" : ")
.append(CConnection.get().getFwPort());
return sb.toString();
} // getServerInfo
/**
* Get Database Info
* @return host : port : sid
*/
private static String getDatabaseInfo()
{
StringBuffer sb = new StringBuffer();
sb.append(CConnection.get().getDbHost()).append(" : ")
.append(CConnection.get().getDbPort()).append(" : ")
.append(CConnection.get().getDbName());
return sb.toString();
} // getDatabaseInfo
/**
* ActionListener
* @param e event
*/
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals(ConfirmPanel.A_OK))
dispose();
} // actionPerformed
} // AboutBox
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -