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

📄 settingsframe.java

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

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 java.awt.*;
import java.awt.event.*;
import javax.swing.*;

import javax.vecmath.*;

public class SettingsFrame extends javax.swing.JFrame {

// IMPORTANT: Source code between BEGIN/END comment pair will be regenerated
// every time the form is saved. All manual changes will be overwritten.
// BEGIN GENERATED CODE
	// member declarations
	javax.swing.JButton okButton = new javax.swing.JButton();
	javax.swing.JButton cancelButton = new javax.swing.JButton();
	javax.swing.JTabbedPane jTabbedPane1 = new javax.swing.JTabbedPane();
	javax.swing.JPanel Accuracy = new javax.swing.JPanel();
	javax.swing.JLabel jLabel2 = new javax.swing.JLabel();
	javax.swing.JTextField accuracy = new javax.swing.JTextField();
	javax.swing.JTextField timeMultiplier = new javax.swing.JTextField();
	javax.swing.JLabel jLabel4 = new javax.swing.JLabel();
	javax.swing.JTextField tracksPSecond = new javax.swing.JTextField();
	javax.swing.JLabel jLabel3 = new javax.swing.JLabel();
	javax.swing.JCheckBox trackingChkBox = new javax.swing.JCheckBox();
	javax.swing.JPanel World = new javax.swing.JPanel();
	javax.swing.JLabel jLabel1 = new javax.swing.JLabel();
	javax.swing.JTextField gravity = new javax.swing.JTextField();
	javax.swing.JPanel jPanel1 = new javax.swing.JPanel();
	javax.swing.JTextField bbLeft = new javax.swing.JTextField();
	javax.swing.JTextField bbTop = new javax.swing.JTextField();
	javax.swing.JTextField bbFront = new javax.swing.JTextField();
	javax.swing.JTextField bbRight = new javax.swing.JTextField();
	javax.swing.JTextField bbBottom = new javax.swing.JTextField();
	javax.swing.JTextField bbBack = new javax.swing.JTextField();
	javax.swing.JLabel jLabel5 = new javax.swing.JLabel();
	javax.swing.JLabel jLabel6 = new javax.swing.JLabel();
	javax.swing.JLabel jLabel7 = new javax.swing.JLabel();
	javax.swing.JLabel jLabel8 = new javax.swing.JLabel();
	javax.swing.JLabel jLabel9 = new javax.swing.JLabel();
	javax.swing.JLabel jLabel10 = new javax.swing.JLabel();
	javax.swing.JCheckBox boundingBox = new javax.swing.JCheckBox();
	javax.swing.JPanel Collisions = new javax.swing.JPanel();
	javax.swing.JRadioButton explosion = new javax.swing.JRadioButton();
	javax.swing.JRadioButton bounce = new javax.swing.JRadioButton();
	javax.swing.JPanel jPanel3 = new javax.swing.JPanel();
	javax.swing.JPanel jPanel2 = new javax.swing.JPanel();
	javax.swing.JTextField blastRadius = new javax.swing.JTextField();
	javax.swing.JLabel jLabel11 = new javax.swing.JLabel();
// END GENERATED CODE
	

	Physics3DFrame f;

	public SettingsFrame(Physics3DFrame theParent) {
		f = theParent;
	}

	public void initComponents() throws Exception {
// IMPORTANT: Source code between BEGIN/END comment pair will be regenerated
// every time the form is saved. All manual changes will be overwritten.
// BEGIN GENERATED CODE
		// the following code sets the frame's initial state
		java.awt.Image img0 = getToolkit().getImage(ClassLoader.getSystemResource("physics3d.gif"));
		// Note: for non-URL based images, relative paths are generated;
		// If not generating a JAR file, create valid relative location for deployment;

		okButton.setLocation(new java.awt.Point(100, 200));
		okButton.setSize(new java.awt.Dimension(80, 30));
		okButton.setText("OK");
		okButton.setVisible(true);
		cancelButton.setLocation(new java.awt.Point(210, 200));
		cancelButton.setSize(new java.awt.Dimension(80, 30));
		cancelButton.setText("Cancel");
		cancelButton.setVisible(true);
		jTabbedPane1.setLocation(new java.awt.Point(10, 10));
		jTabbedPane1.setSize(new java.awt.Dimension(350, 180));
		jTabbedPane1.setVisible(true);
		Accuracy.setLayout(null);
		Accuracy.setVisible(true);
		jLabel2.setLocation(new java.awt.Point(8, 15));
		jLabel2.setSize(new java.awt.Dimension(210, 20));
		jLabel2.setText("Accuracy (caluclations per second)");
		jLabel2.setToolTipText("With complex systems the computer will slow down.");
		jLabel2.setVisible(true);
		accuracy.setLocation(new java.awt.Point(248, 15));
		accuracy.setSize(new java.awt.Dimension(90, 20));
		accuracy.setText("20");
		accuracy.setVisible(true);
		timeMultiplier.setLocation(new java.awt.Point(248, 55));
		timeMultiplier.setSize(new java.awt.Dimension(90, 20));
		timeMultiplier.setText("1");
		timeMultiplier.setVisible(true);
		jLabel4.setLocation(new java.awt.Point(8, 55));
		jLabel4.setSize(new java.awt.Dimension(210, 20));
		jLabel4.setText("Speed (Realtime = 1)");
		jLabel4.setToolTipText("With complex systems the computer will slow down.");
		jLabel4.setVisible(true);
		tracksPSecond.setLocation(new java.awt.Point(278, 85));
		tracksPSecond.setSize(new java.awt.Dimension(60, 20));
		tracksPSecond.setText("20");
		tracksPSecond.setVisible(true);
		jLabel3.setLocation(new java.awt.Point(158, 85));
		jLabel3.setSize(new java.awt.Dimension(110, 20));
		jLabel3.setText("Tracks per Second");
		jLabel3.setVisible(true);
		trackingChkBox.setLocation(new java.awt.Point(8, 85));
		trackingChkBox.setSize(new java.awt.Dimension(120, 22));
		trackingChkBox.setText("Enable Tracking");
		trackingChkBox.setVisible(true);
		World.setLayout(null);
		World.setVisible(true);
		jLabel1.setLocation(new java.awt.Point(8, 5));
		jLabel1.setSize(new java.awt.Dimension(200, 20));
		jLabel1.setText("Stength of Gravity (N * m^2 / kg^2)");
		jLabel1.setVisible(true);
		gravity.setLocation(new java.awt.Point(218, 5));
		gravity.setSize(new java.awt.Dimension(90, 20));
		gravity.setText("6.673E-11");
		gravity.setVisible(true);
		jPanel1.setBorder(new javax.swing.plaf.BorderUIResource.TitledBorderUIResource(new javax.swing.border.LineBorder(new java.awt.Color(153, 153, 153), 1, false), "Bounding Box", 4, 2, new java.awt.Font("Dialog", 1, 12), java.awt.Color.black));
		jPanel1.setLayout(null);
		jPanel1.setLocation(new java.awt.Point(8, 35));
		jPanel1.setSize(new java.awt.Dimension(330, 110));
		jPanel1.setVisible(true);
		bbLeft.setEnabled(false);
		bbLeft.setLocation(new java.awt.Point(50, 60));
		bbLeft.setSize(new java.awt.Dimension(50, 20));
		bbLeft.setText("0");
		bbLeft.setVisible(true);
		bbTop.setEnabled(false);
		bbTop.setLocation(new java.awt.Point(160, 30));
		bbTop.setSize(new java.awt.Dimension(50, 20));
		bbTop.setText("0");
		bbTop.setVisible(true);
		bbFront.setEnabled(false);
		bbFront.setLocation(new java.awt.Point(270, 30));
		bbFront.setSize(new java.awt.Dimension(50, 20));
		bbFront.setText("0");
		bbFront.setVisible(true);
		bbRight.setEnabled(false);
		bbRight.setLocation(new java.awt.Point(50, 30));
		bbRight.setSize(new java.awt.Dimension(50, 20));
		bbRight.setText("0");
		bbRight.setVisible(true);
		bbBottom.setEnabled(false);
		bbBottom.setLocation(new java.awt.Point(160, 60));
		bbBottom.setSize(new java.awt.Dimension(50, 20));
		bbBottom.setText("0");
		bbBottom.setVisible(true);
		bbBack.setEnabled(false);
		bbBack.setLocation(new java.awt.Point(270, 60));
		bbBack.setSize(new java.awt.Dimension(50, 20));
		bbBack.setText("0");
		bbBack.setVisible(true);
		jLabel5.setLocation(new java.awt.Point(10, 60));
		jLabel5.setSize(new java.awt.Dimension(40, 20));
		jLabel5.setText("Left");
		jLabel5.setVisible(true);
		jLabel6.setLocation(new java.awt.Point(10, 30));
		jLabel6.setSize(new java.awt.Dimension(40, 20));
		jLabel6.setText("Right");
		jLabel6.setVisible(true);
		jLabel7.setLocation(new java.awt.Point(110, 30));
		jLabel7.setSize(new java.awt.Dimension(40, 20));
		jLabel7.setText("Top");
		jLabel7.setVisible(true);
		jLabel8.setLocation(new java.awt.Point(110, 60));
		jLabel8.setSize(new java.awt.Dimension(50, 20));
		jLabel8.setText("Bottom");
		jLabel8.setVisible(true);
		jLabel9.setLocation(new java.awt.Point(230, 30));
		jLabel9.setSize(new java.awt.Dimension(40, 20));
		jLabel9.setText("Front");
		jLabel9.setVisible(true);
		jLabel10.setLocation(new java.awt.Point(230, 60));
		jLabel10.setSize(new java.awt.Dimension(40, 20));
		jLabel10.setText("Back");
		jLabel10.setVisible(true);
		boundingBox.setLocation(new java.awt.Point(150, 80));
		boundingBox.setSize(new java.awt.Dimension(70, 20));
		boundingBox.setText("Enabled");
		boundingBox.setVisible(true);
		Collisions.setLayout(null);
		Collisions.setVisible(true);
		explosion.setLocation(new java.awt.Point(16, 15));
		explosion.setSize(new java.awt.Dimension(72, 20));
		explosion.setText("Explode");
		explosion.setVisible(true);
		bounce.setLocation(new java.awt.Point(188, 15));
		bounce.setSize(new java.awt.Dimension(80, 20));
		bounce.setText("Bounce");
		bounce.setVisible(true);
		jPanel3.setBorder(new javax.swing.plaf.BorderUIResource.TitledBorderUIResource(new javax.swing.border.LineBorder(new java.awt.Color(153, 153, 153), 1, false), "Bounce Settings", 4, 2, new java.awt.Font("Dialog", 1, 12), java.awt.Color.black));
		jPanel3.setEnabled(false);
		jPanel3.setLayout(null);
		jPanel3.setLocation(new java.awt.Point(188, 45));
		jPanel3.setSize(new java.awt.Dimension(150, 90));
		jPanel3.setVisible(true);
		jPanel2.setBorder(new javax.swing.plaf.BorderUIResource.TitledBorderUIResource(new javax.swing.border.LineBorder(new java.awt.Color(153, 153, 153), 1, false), "Explode Settings", 4, 2, new java.awt.Font("Dialog", 1, 12), java.awt.Color.black));
		jPanel2.setLayout(null);
		jPanel2.setLocation(new java.awt.Point(16, 45));
		jPanel2.setSize(new java.awt.Dimension(150, 90));
		jPanel2.setVisible(true);
		blastRadius.setLocation(new java.awt.Point(110, 40));
		blastRadius.setSize(new java.awt.Dimension(30, 20));
		blastRadius.setText("3");
		blastRadius.setToolTipText("* radius");
		blastRadius.setVisible(true);
		jLabel11.setLocation(new java.awt.Point(20, 40));
		jLabel11.setSize(new java.awt.Dimension(72, 20));
		jLabel11.setText("Blast Radius");
		jLabel11.setToolTipText("How much splash damage happens from explosion (Default 3)");
		jLabel11.setVisible(true);
		setIconImage(img0);
		getContentPane().setLayout(null);
		setLocation(new java.awt.Point(100, 100));
		setTitle("Physics 3D - Settings");

		jTabbedPane1.add(Accuracy);
		jTabbedPane1.setTitleAt(jTabbedPane1.getTabCount() - 1, "Accuracy");
		jTabbedPane1.add(World);
		jTabbedPane1.setTitleAt(jTabbedPane1.getTabCount() - 1, "World");
		jTabbedPane1.add(Collisions);
		jTabbedPane1.setTitleAt(jTabbedPane1.getTabCount() - 1, "Collisions");

⌨️ 快捷键说明

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