⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 physics3d.java

📁 运用java3D模拟刚体间的碰撞,爆炸及在万有引力作用下的运动轨迹,设置适当的参数可以模拟天体运动等多种物理现象.
💻 JAVA
字号:
/***************************************************

Copyright 2003 Ben Childs


This file is part of Physics 3D.

    Physics 3D is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    Physics 3D is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Physics 3D; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA




***************************************************/

package com.bchilds.Physics3D;

import javax.swing.*;
import java.awt.*;


//Starter Class for Physics3D; to start use java -jar Physics3D.jar
public class Physics3D {
	
	public static final String version = "1.0.5";
	public static final String buildDate = "20030628";
	
	//Creates splash screen and starts the main frame
	public Physics3D() 
	{
		try {
		
			//Get Native UI if possible
			try {
				UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
			} 
			catch (Exception e) { 
			}
			
			
			//Create Splash Screen
			JDialog f = new JDialog()
			{
				java.awt.Image logo = java.awt.Toolkit.getDefaultToolkit().getImage(ClassLoader.getSystemResource("logo.gif"));

				public void paint(Graphics g)
				{
					super.paint(g);
					g.drawImage(logo,0,0,200,100,null,this);
				
				}
			
			};
			f.setUndecorated(true);
			f.setSize(200, 100);
			Dimension d = f.getToolkit().getScreenSize();
			f.setLocation(((int)d.getWidth() / 2) - 100, ((int)d.getHeight() / 2) - 50);
			f.setTitle("Physics3D - Loading...");
			JLabel l = new JLabel("Loading Physics 3D. Please Wait...");
			f.getContentPane().setLayout(new FlowLayout(FlowLayout.CENTER));
			f.getContentPane().add(l);
			f.setVisible(true);
			//////////////////////////////////////////
			
			
			//Set Menu's and Tooltips to be heavyweight (needed to show above Canvas3D)
			JPopupMenu.setDefaultLightWeightPopupEnabled(false);
			ToolTipManager ttm = ToolTipManager.sharedInstance();
			ttm.setLightWeightPopupEnabled(false);
			///////////////////////////////////////////////////
			
			//Create the main frame and when loaded show it and hide the splash screen
			Physics3DFrame frame = new Physics3DFrame();
			frame.initComponents();
			frame.setVisible(true);
			f.setVisible(false);
			/////////////////////////////////////////////////////////////////
		}
		//If there are any errors print them out and exit
		catch (Exception e) {
			e.printStackTrace();
			System.out.println("Exception: Exiting");
			System.exit(0);
		}
	}

	// Main entry point
	static public void main(String[] args) {
		//Create the Physics3D program...
		new Physics3D();
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -