📄 settingsframe.java
字号:
Accuracy.add(jLabel2);
Accuracy.add(accuracy);
Accuracy.add(timeMultiplier);
Accuracy.add(jLabel4);
Accuracy.add(tracksPSecond);
Accuracy.add(jLabel3);
Accuracy.add(trackingChkBox);
World.add(jLabel1);
World.add(gravity);
World.add(jPanel1);
jPanel1.add(bbLeft);
jPanel1.add(bbTop);
jPanel1.add(bbFront);
jPanel1.add(bbRight);
jPanel1.add(bbBottom);
jPanel1.add(bbBack);
jPanel1.add(jLabel5);
jPanel1.add(jLabel6);
jPanel1.add(jLabel7);
jPanel1.add(jLabel8);
jPanel1.add(jLabel9);
jPanel1.add(jLabel10);
jPanel1.add(boundingBox);
Collisions.add(explosion);
Collisions.add(bounce);
Collisions.add(jPanel3);
Collisions.add(jPanel2);
jPanel2.add(blastRadius);
jPanel2.add(jLabel11);
getContentPane().add(okButton);
getContentPane().add(cancelButton);
getContentPane().add(jTabbedPane1);
jTabbedPane1.setSelectedIndex(2);
trackingChkBox.setSelected(true);
setSize(new java.awt.Dimension(378, 267));
// event handling
okButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
okButtonActionPerformed(e);
}
});
cancelButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
cancelButtonActionPerformed(e);
}
});
trackingChkBox.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent e) {
trackingChkBoxStateChanged(e);
}
});
boundingBox.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent e) {
boundingBoxStateChanged(e);
}
});
explosion.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent e) {
explosionItemStateChanged(e);
}
});
bounce.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent e) {
bounceItemStateChanged(e);
}
});
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
thisWindowClosing(e);
}
});
// END GENERATED CODE
Dimension screenSize = getToolkit().getScreenSize();
setLocation(((int)screenSize.getWidth() / 2) - (this.getWidth() / 2), ((int)screenSize.getHeight() / 2) - (this.getHeight() / 2));
gravity.setText(Double.toString(Particle3D.getGravity()));
accuracy.setText(Double.toString(1.0 / (Physics3DThread.getAccuracy() / 1000.0)));
trackingChkBox.setSelected(Particle3D.getTraceNumFrames() != -1);
if(trackingChkBox.isSelected())
tracksPSecond.setText(Double.toString((1.0 / (Physics3DThread.getAccuracy() / 1000.0)) / ((double)Particle3D.getTraceNumFrames())));
timeMultiplier.setText(Float.toString(Physics3DThread.getTimeMultiplier()));
Point3d ufr = Particle3D.getUFRBounding(), lbl = Particle3D.getLBLBounding();
if(ufr == null || lbl == null)
boundingBox.setSelected(false);
else
{
boundingBox.setSelected(true);
bbRight.setText(Double.toString(ufr.x));
bbTop.setText(Double.toString(ufr.y));
bbFront.setText(Double.toString(ufr.z));
bbLeft.setText(Double.toString(lbl.x));
bbBottom.setText(Double.toString(lbl.y));
bbBack.setText(Double.toString(lbl.z));
}
if(Particle3D.getCollsionHandling() == Particle3D.MOMENTUM)
{
bounce.setSelected(true);
explosion.setSelected(false);
}
else
{
bounce.setSelected(false);
explosion.setSelected(true);
}
jTabbedPane1.setSelectedIndex(0);
}
private boolean mShown = false;
public void addNotify() {
super.addNotify();
if (mShown)
return;
// resize frame to account for menubar
JMenuBar jMenuBar = getJMenuBar();
if (jMenuBar != null) {
int jMenuBarHeight = jMenuBar.getPreferredSize().height;
Dimension dimension = getSize();
dimension.height += jMenuBarHeight;
setSize(dimension);
// move down components in layered pane
Component[] components = getLayeredPane().getComponentsInLayer(JLayeredPane.DEFAULT_LAYER.intValue());
for (int i = 0; i < components.length; i++) {
Point location = components[i].getLocation();
location.move(location.x, location.y + jMenuBarHeight);
components[i].setLocation(location);
}
}
mShown = true;
}
// Close the window when the close box is clicked
void thisWindowClosing(java.awt.event.WindowEvent e) {
setVisible(false);
dispose();
// System.exit(0);
}
public void okButtonActionPerformed(java.awt.event.ActionEvent e) {
try
{
Particle3D.setGravity(Double.parseDouble(gravity.getText()));
if(boundingBox.isSelected())
Particle3D.setBoundingBox(new Point3d(Double.parseDouble(bbRight.getText()),
Double.parseDouble(bbTop.getText()),
Double.parseDouble(bbFront.getText())),
new Point3d(Double.parseDouble(bbLeft.getText()),
Double.parseDouble(bbBottom.getText()),
Double.parseDouble(bbBack.getText())));
else
Particle3D.setBoundingBox(null, null);
Physics3DThread.setAccuracy((int)(1000.0 / Double.parseDouble(accuracy.getText())));
if(trackingChkBox.isSelected())
Particle3D.setTraceNumFrames(Math.max(1,(int)(Double.parseDouble(accuracy.getText()) / Double.parseDouble(tracksPSecond.getText()))));
else
Particle3D.setTraceNumFrames(-1);
Physics3DThread.setTimeMultiplier(Float.parseFloat(timeMultiplier.getText()));
//Set Collision Settings
if(bounce.isSelected())
Particle3D.setCollisionHandling(Particle3D.MOMENTUM);
else
Particle3D.setCollisionHandling(Particle3D.EXPLODE);
/////////////////////////
setVisible(false);
dispose();
}
catch(Exception exp)
{
JOptionPane.showMessageDialog(this, "Error: One or more settings were not Numbers please try again.",
"Error!", JOptionPane.ERROR_MESSAGE);
}
}
public void cancelButtonActionPerformed(java.awt.event.ActionEvent e) {
setVisible(false);
dispose();
}
public void trackingChkBoxStateChanged(javax.swing.event.ChangeEvent e) {
if(trackingChkBox.isSelected())
tracksPSecond.setEnabled(true);
else
tracksPSecond.setEnabled(false);
}
public void boundingBoxStateChanged(javax.swing.event.ChangeEvent e) {
if(boundingBox.isSelected())
{
bbRight.setEnabled(true);
bbLeft.setEnabled(true);
bbTop.setEnabled(true);
bbBottom.setEnabled(true);
bbFront.setEnabled(true);
bbBack.setEnabled(true);
}
else
{
bbLeft.setEnabled(false);
bbRight.setEnabled(false);
bbTop.setEnabled(false);
bbBottom.setEnabled(false);
bbFront.setEnabled(false);
bbBack.setEnabled(false);
}
}
public void explosionItemStateChanged(java.awt.event.ItemEvent e) {
if(explosion.isSelected())
bounce.setSelected(false);
}
public void bounceItemStateChanged(java.awt.event.ItemEvent e) {
if(bounce.isSelected())
explosion.setSelected(false);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -