asherbaig
2008-12-05 19:02:52 UTC
Hi Developers,
As in earlier days you people help me a lots for that i am really
thankful to you by heart.Now i have biggest problem facing hopefully
you will help me in this matter.
The problem is About configuration of Keyboard for My Robot for
single player.
I will explain in step by step
At first in PreferencesDialog.java
i have created object
private PreferencesKeyConfigurationOptionsTab KeyConfigurationOptionsTab;
Under wizard i added tab
tabbedPane.insertTab("Key Configuration", null,
getKeyConfigurationnOptionsTab(), null, 5);
tabbedPane.setMnemonicAt(5, KeyEvent.VK_K);
tabbedPane.setDisplayedMnemonicIndexAt(5,0);
Now i created seperate calls for KeyConfigurationOptionsTab,java
Also i created seperated project for my Robot by the name Uniteam and
added pakcage single player and class Sprobot.java ( which is my robot).
Robots work fine Here is the code detail as follows:
package singleplayer;
import robocode.AdvancedRobot;
import java.awt.*;
import java.awt.event.KeyEvent;
import static java.awt.event.KeyEvent.*;
public class Sprobot extends AdvancedRobot {
// Move direction: 1 = move forward, 0 = stand still, -1 = move backward
int moveDirection;
// Turn direction: 1 = turn right, 0 = no turning, -1 = turn left
int turnDirection;
// Amount of pixels/units to move
double moveAmount;
// The coordinate of the aim (x,y)
int aimX, aimY;
// Fire power, where 0 = don't fire
int firePower;
//Returns the direction that the robot's radar is facing, in degrees.
//The value returned will be between 0 and 360 (is excluded).
//Note that the heading in Robocode is like a compass, where 0 means
North,
//90 means East, 180 means South, and 270 means West.
double getRadarHeading;
// Called when the robot must run
public void run() {
// Sets the colors of the robot
// body = black, gun = white, radar = red
setColors(Color.BLACK, Color.BLACK, Color.YELLOW);
// Loop forever
for (;;) {
// Sets the robot to move forward, backward or stop moving depending
// on the move direction and amount of pixels to move
setAhead(moveAmount * moveDirection);
// Decrement the amount of pixels to move until we reach 0 pixels
// This way the robot will automatically stop if the mouse wheel
// has stopped it's rotation
moveAmount = Math.max(0, moveAmount - 1);
// Sets the robot to turn right or turn left (at maximum speed) or
// stop turning depending on the turn direction
setTurnRight(45 * turnDirection); // degrees
// Turns the gun toward the current aim coordinate (x,y) controlled by
// the current mouse coordinate
// double angle = normalAbsoluteAngle(Math.atan2(aimX - getX(), aimY
- getY()));
// setTurnGunRightRadians(normalRelativeAngle(angle -
getGunHeadingRadians()));
// Fire the gun with the specified fire power, unless the fire
power = 0
if (firePower > 0) {
setFire(firePower);
}
// Execute all pending set-statements
execute();
// Next turn is processed in this loop..
}
}
// Called when a key has been pressed
public void onKeyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
case VK_W:
// Arrow up key: move direction = forward (infinitely)
moveDirection = 1;
moveAmount = Double.POSITIVE_INFINITY;
break;
case VK_S:
// Arrow down key: move direction = backward (infinitely)
moveDirection = -1;
moveAmount = Double.POSITIVE_INFINITY;
break;
case VK_D:
// Arrow right key: turn direction = right
turnDirection = 1;
break;
case VK_A:
// Arrow left key: turn direction = left
turnDirection = -1;
break;
// Button 3 : return fire
case VK_G:
firePower = 3;
setBulletColor(Color.RED);
break;
// Button 2 : return fire
case VK_H:
firePower = 2;
setBulletColor(Color.YELLOW);
break;
// Button 1 : return fire
case VK_J:
firePower = 1;
setBulletColor(Color.WHITE);
break;
// Move Gun : In Direction 180 to fire using buttons
case VK_U:
char c = e.getKeyChar();
if (c == 'u') {
setTurnGunLeft(180);
} else if (c == 'i') {
setTurnGunRight(180);
}
}
}
// Called when a key has been released (after being pressed)
public void onKeyReleased(KeyEvent e) {
switch (e.getKeyCode()) {
case VK_W:
case VK_S:
// Arrow up and down keys: move direction = stand still
moveDirection = 0;
break;
case VK_D:
case VK_A:
// Arrow right and left keys: turn direction = stop turning
turnDirection = 0;
break;
// Button 3 : Stop firing
case VK_G:
firePower = 0;
break;
// Button 2 : Stop firing
case VK_H:
firePower = 0;
break;
// Button 1 : Stop firing
case VK_J:
firePower = 0;
break;
}
}
}
And Here is the code for PreferencesKeyConfigurationOptionsTab
package robocode.dialog;
import robocode.manager.RobocodeManager;
import robocode.manager.RobocodeProperties;
//import robocode.manager.RobocodeProperties;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class PreferencesKeyConfigurationOptionsTab extends WizardPanel {
private RobocodeManager manager;
private JPanel specificSettingsPanel;
private JPanel fireSettingsPanel;
private JPanel RadarSettingsPanel;
private JComboBox optionsKeyboardComboBox;
private JComboBox optionsKeyboard2ComboBox;
private JComboBox optionsKeyboard3ComboBox;
private JComboBox optionsKeyboard4ComboBox;
// for firesettingsPanel
private JComboBox optionsKeyboard5ComboBox;
private JComboBox optionsKeyboard6ComboBox;
private JComboBox optionsKeyboard7ComboBox;
private JComboBox optionsKeyboard8ComboBox;
private JComboBox optionsKeyboard9ComboBox;
private JCheckBox optionsRenderingBufferImagesCheckBox;
private JButton predefinedPlaformDefaultButton;
private JButton predefinedSpeedButton;
private JButton predefinedQualityButton;
private EventHandler eventHandler;
public PreferencesKeyConfigurationOptionsTab(RobocodeManager manager) {
super();
this.manager = manager;
initialize();
}
private void initialize() {
eventHandler = new EventHandler();
setLayout(new GridLayout(1, 3));
add(getDirectionSettingsPanel());
add(getFireSettingsPanel());
add(getRadarSettingsPanel());
loadPreferences(manager.getProperties());
}
private JPanel getDirectionSettingsPanel() {
if (specificSettingsPanel == null) {
specificSettingsPanel = new JPanel();
specificSettingsPanel.setBorder(
BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
"Direction settings"));
specificSettingsPanel.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.HORIZONTAL;
c.insets = new Insets(6,8,6,8);
c.anchor = GridBagConstraints.PAGE_START;
c.weightx = 2;
c.gridwidth = 4;
c.gridx = 0;
c.gridy = 0;
specificSettingsPanel.add(new JLabel("Set Direction of Robot:"), c);
c.gridwidth = 1;
c.gridy = 1;
specificSettingsPanel.add(new JLabel("RIGHT",
SwingConstants.RIGHT), c);
c.gridx = 1;
specificSettingsPanel.add(getOptionsKeyboardComboBox(), c);
c.gridx = 0;
c.gridy = 2;
specificSettingsPanel.add(new JLabel("LEFT", SwingConstants.RIGHT), c);
c.gridx = 1;
specificSettingsPanel.add(getOptionsKeyboard2ComboBox(), c);
c.gridx = 0;
c.gridy = 3;
specificSettingsPanel.add(new JLabel("UP", SwingConstants.RIGHT), c);
c.gridx = 1;
specificSettingsPanel.add(getOptionsKeyboard3ComboBox(), c);
c.gridx = 0;
c.gridy = 4;
specificSettingsPanel.add(new JLabel("DOWN", SwingConstants.RIGHT), c);
c.gridx = 1;
specificSettingsPanel.add(getOptionsKeyboard4ComboBox(), c);
}
return specificSettingsPanel;
}
private JPanel getFireSettingsPanel() {
if (fireSettingsPanel == null) {
fireSettingsPanel = new JPanel();
fireSettingsPanel.setBorder(
BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
"Power settings"));
fireSettingsPanel.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.HORIZONTAL;
c.insets = new Insets(6,8,6,8);
c.anchor = GridBagConstraints.PAGE_START;
c.weightx = 2;
c.gridwidth = 8;
c.gridx = 0;
c.gridy = 0;
fireSettingsPanel.add(new JLabel("Power Setting:"), c);
c.gridwidth = 1;
c.gridy = 1;
fireSettingsPanel.add(new JLabel("PowerKey 1",
SwingConstants.RIGHT), c);
c.gridx = 1;
fireSettingsPanel.add(getOptionsKeyboard5ComboBox(), c);
c.gridx = 0;
c.gridy = 2;
fireSettingsPanel.add(new JLabel("PowerKey 2",
SwingConstants.RIGHT), c);
c.gridx = 1;
fireSettingsPanel.add(getOptionsKeyboard6ComboBox(), c);
c.gridx = 0;
c.gridy = 3;
fireSettingsPanel.add(new JLabel("PowerKey 3",
SwingConstants.RIGHT), c);
c.gridx = 1;
fireSettingsPanel.add(getOptionsKeyboard7ComboBox(), c);
}
return fireSettingsPanel;
}
private JPanel getRadarSettingsPanel() {
if (RadarSettingsPanel == null) {
RadarSettingsPanel = new JPanel();
RadarSettingsPanel.setBorder(
BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
"Radar Settings"));
RadarSettingsPanel.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.HORIZONTAL;
c.insets = new Insets(6,8,6,8);
c.anchor = GridBagConstraints.PAGE_START;
c.weightx = 2;
c.gridwidth = 5;
c.gridx = 0;
c.gridy = 0;
RadarSettingsPanel.add(new JLabel("Set Radar Button Key:"), c);
c.gridwidth = 1;
c.gridx = 0;
c.gridy = 4;
RadarSettingsPanel.add(new JLabel("RadarKey 1",
SwingConstants.RIGHT), c);
c.gridx = 1;
RadarSettingsPanel.add(getOptionsKeyboard8ComboBox(), c);
c.gridx = 0;
c.gridy = 5;
RadarSettingsPanel.add(new JLabel("RadarKey 2",
SwingConstants.RIGHT), c);
c.gridx = 1;
RadarSettingsPanel.add(getOptionsKeyboard9ComboBox(), c);
}
return RadarSettingsPanel;
}
private JComboBox getOptionsKeyboardComboBox() {
if (optionsKeyboardComboBox == null) {
optionsKeyboardComboBox = new JComboBox(new String[] { " ","A",
"S", "D", "X"});
optionsKeyboardComboBox.addActionListener(eventHandler);
}
return optionsKeyboardComboBox;
}
private JComboBox getOptionsKeyboard2ComboBox() {
if (optionsKeyboard2ComboBox == null) {
optionsKeyboard2ComboBox = new JComboBox(new String[] { "S", "
","A", "D", "X"});
optionsKeyboard2ComboBox.addActionListener(eventHandler);
}
return optionsKeyboard2ComboBox;
}
private JComboBox getOptionsKeyboard3ComboBox() {
if (optionsKeyboard3ComboBox == null) {
optionsKeyboard3ComboBox = new JComboBox(new String[] { "D", "S",
"D", "X"});
optionsKeyboard3ComboBox.addActionListener(eventHandler);
}
return optionsKeyboard3ComboBox;
}
private JComboBox getOptionsKeyboard4ComboBox() {
if (optionsKeyboard4ComboBox == null) {
optionsKeyboard4ComboBox = new JComboBox(new String[] { "X", "S",
"D", "X"});
optionsKeyboard4ComboBox.addActionListener(eventHandler);
}
return optionsKeyboard4ComboBox;
}
private JComboBox getOptionsKeyboard5ComboBox() {
if (optionsKeyboard5ComboBox == null) {
optionsKeyboard5ComboBox = new JComboBox(new String[] { " ","A",
"S", "D", "X"});
optionsKeyboard5ComboBox.addActionListener(eventHandler);
}
return optionsKeyboard5ComboBox;
}
private JComboBox getOptionsKeyboard6ComboBox() {
if (optionsKeyboard6ComboBox == null) {
optionsKeyboard6ComboBox = new JComboBox(new String[] { " ","A",
"S", "D", "X"});
optionsKeyboard6ComboBox.addActionListener(eventHandler);
}
return optionsKeyboard6ComboBox;
}
private JComboBox getOptionsKeyboard7ComboBox() {
if (optionsKeyboard7ComboBox == null) {
optionsKeyboard7ComboBox = new JComboBox(new String[] { " ","A",
"S", "D", "X"});
optionsKeyboard7ComboBox.addActionListener(eventHandler);
}
return optionsKeyboard7ComboBox;
}
private JComboBox getOptionsKeyboard8ComboBox() {
if (optionsKeyboard8ComboBox == null) {
optionsKeyboard8ComboBox = new JComboBox(new String[] { " ","A",
"S", "D", "X"});
optionsKeyboard8ComboBox.addActionListener(eventHandler);
}
return optionsKeyboard8ComboBox;
}
private JComboBox getOptionsKeyboard9ComboBox() {
if (optionsKeyboard9ComboBox == null) {
optionsKeyboard9ComboBox = new JComboBox(new String[] { " ","A",
"S", "D", "X"});
optionsKeyboard9ComboBox.addActionListener(eventHandler);
}
return optionsKeyboard9ComboBox;
}
private void loadPreferences(RobocodeProperties props) {
getOptionsKeyboardComboBox().setSelectedIndex(props.getOptionsRenderingAntialiasing());
getOptionsKeyboard2ComboBox().setSelectedIndex(props.getOptionsRenderingTextAntialiasing());
getOptionsKeyboard3ComboBox().setSelectedIndex(props.getOptionsRenderingMethod());
getOptionsKeyboard4ComboBox().setSelectedIndex(props.getOptionsRenderingMethod());
getOptionsKeyboard5ComboBox().setSelectedIndex(props.getOptionsRenderingMethod());
getOptionsKeyboard6ComboBox().setSelectedIndex(props.getOptionsRenderingMethod());
getOptionsKeyboard7ComboBox().setSelectedIndex(props.getOptionsRenderingMethod());
getOptionsKeyboard8ComboBox().setSelectedIndex(props.getOptionsRenderingMethod());
getOptionsKeyboard9ComboBox().setSelectedIndex(props.getOptionsRenderingMethod());
}
public void storePreferences() {
RobocodeProperties props = manager.getProperties();
props.setOptionsRenderingAntialiasing(optionsKeyboardComboBox.getSelectedIndex());
props.setOptionsRenderingTextAntialiasing(optionsKeyboard2ComboBox.getSelectedIndex());
props.setOptionsRenderingMethod(optionsKeyboard3ComboBox.getSelectedIndex());
props.setOptionsRenderingMethod(optionsKeyboard4ComboBox.getSelectedIndex());
props.setOptionsRenderingMethod(optionsKeyboard5ComboBox.getSelectedIndex());
props.setOptionsRenderingMethod(optionsKeyboard6ComboBox.getSelectedIndex());
props.setOptionsRenderingMethod(optionsKeyboard7ComboBox.getSelectedIndex());
props.setOptionsRenderingMethod(optionsKeyboard8ComboBox.getSelectedIndex());
props.setOptionsRenderingMethod(optionsKeyboard9ComboBox.getSelectedIndex());
manager.saveProperties();
}
@Override
public boolean isReady() {
return true;
}
private void setPredefinedSettings(int index) {
optionsKeyboardComboBox.setSelectedIndex(index);
optionsKeyboard2ComboBox.setSelectedIndex(index);
optionsKeyboard3ComboBox.setSelectedIndex(index);
}
private class EventHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
Object src = e.getSource();
if (src == predefinedPlaformDefaultButton) {
setPredefinedSettings(0);
} else if (src == predefinedQualityButton) {
setPredefinedSettings(1);
} else if (src == predefinedSpeedButton) {
setPredefinedSettings(2);
} else if (src == optionsRenderingBufferImagesCheckBox) {
// Reset images so they are reloaded and gets buffered or unbuffered
new Thread() {
@Override
public void run() {
storePreferences();
manager.getImageManager().initialize();
}
}.start();
return;
}
manager.getWindowManager().getRobocodeFrame().getBattleView().setInitialized(false);
}
}
}
NOW I WANT USER TO GET KEY CONFIGURA FROM
PreferencesKeyConfigurationOptionsTab.JAVA
I HOPE U UNDERSTAND THIS PROBLEM.
I MEAN WHEN USER LEFT KEY FROM COMBOBOX.It will directly assigned to
Left in Sprobot.java ( which is my robot).
Also i want to send These three java files.here is the link
1.PreferencesDialog.java
http://www.sendspace.com/file/6kgbv4
2.PreferencesKeyConfigurationOptionsTab.java
http://www.sendspace.com/file/rkzn2d
3.Uniteam3a SEPERATE PROJECT FOR Robot full package in rar format
http://www.sendspace.com/file/zkrv1m
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/Robocode/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/Robocode/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:Robocode-***@yahoogroups.com
mailto:Robocode-***@yahoogroups.com
<*> To unsubscribe from this group, send an email to:
Robocode-***@yahoogroups.com
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
As in earlier days you people help me a lots for that i am really
thankful to you by heart.Now i have biggest problem facing hopefully
you will help me in this matter.
The problem is About configuration of Keyboard for My Robot for
single player.
I will explain in step by step
At first in PreferencesDialog.java
i have created object
private PreferencesKeyConfigurationOptionsTab KeyConfigurationOptionsTab;
Under wizard i added tab
tabbedPane.insertTab("Key Configuration", null,
getKeyConfigurationnOptionsTab(), null, 5);
tabbedPane.setMnemonicAt(5, KeyEvent.VK_K);
tabbedPane.setDisplayedMnemonicIndexAt(5,0);
Now i created seperate calls for KeyConfigurationOptionsTab,java
Also i created seperated project for my Robot by the name Uniteam and
added pakcage single player and class Sprobot.java ( which is my robot).
Robots work fine Here is the code detail as follows:
package singleplayer;
import robocode.AdvancedRobot;
import java.awt.*;
import java.awt.event.KeyEvent;
import static java.awt.event.KeyEvent.*;
public class Sprobot extends AdvancedRobot {
// Move direction: 1 = move forward, 0 = stand still, -1 = move backward
int moveDirection;
// Turn direction: 1 = turn right, 0 = no turning, -1 = turn left
int turnDirection;
// Amount of pixels/units to move
double moveAmount;
// The coordinate of the aim (x,y)
int aimX, aimY;
// Fire power, where 0 = don't fire
int firePower;
//Returns the direction that the robot's radar is facing, in degrees.
//The value returned will be between 0 and 360 (is excluded).
//Note that the heading in Robocode is like a compass, where 0 means
North,
//90 means East, 180 means South, and 270 means West.
double getRadarHeading;
// Called when the robot must run
public void run() {
// Sets the colors of the robot
// body = black, gun = white, radar = red
setColors(Color.BLACK, Color.BLACK, Color.YELLOW);
// Loop forever
for (;;) {
// Sets the robot to move forward, backward or stop moving depending
// on the move direction and amount of pixels to move
setAhead(moveAmount * moveDirection);
// Decrement the amount of pixels to move until we reach 0 pixels
// This way the robot will automatically stop if the mouse wheel
// has stopped it's rotation
moveAmount = Math.max(0, moveAmount - 1);
// Sets the robot to turn right or turn left (at maximum speed) or
// stop turning depending on the turn direction
setTurnRight(45 * turnDirection); // degrees
// Turns the gun toward the current aim coordinate (x,y) controlled by
// the current mouse coordinate
// double angle = normalAbsoluteAngle(Math.atan2(aimX - getX(), aimY
- getY()));
// setTurnGunRightRadians(normalRelativeAngle(angle -
getGunHeadingRadians()));
// Fire the gun with the specified fire power, unless the fire
power = 0
if (firePower > 0) {
setFire(firePower);
}
// Execute all pending set-statements
execute();
// Next turn is processed in this loop..
}
}
// Called when a key has been pressed
public void onKeyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
case VK_W:
// Arrow up key: move direction = forward (infinitely)
moveDirection = 1;
moveAmount = Double.POSITIVE_INFINITY;
break;
case VK_S:
// Arrow down key: move direction = backward (infinitely)
moveDirection = -1;
moveAmount = Double.POSITIVE_INFINITY;
break;
case VK_D:
// Arrow right key: turn direction = right
turnDirection = 1;
break;
case VK_A:
// Arrow left key: turn direction = left
turnDirection = -1;
break;
// Button 3 : return fire
case VK_G:
firePower = 3;
setBulletColor(Color.RED);
break;
// Button 2 : return fire
case VK_H:
firePower = 2;
setBulletColor(Color.YELLOW);
break;
// Button 1 : return fire
case VK_J:
firePower = 1;
setBulletColor(Color.WHITE);
break;
// Move Gun : In Direction 180 to fire using buttons
case VK_U:
char c = e.getKeyChar();
if (c == 'u') {
setTurnGunLeft(180);
} else if (c == 'i') {
setTurnGunRight(180);
}
}
}
// Called when a key has been released (after being pressed)
public void onKeyReleased(KeyEvent e) {
switch (e.getKeyCode()) {
case VK_W:
case VK_S:
// Arrow up and down keys: move direction = stand still
moveDirection = 0;
break;
case VK_D:
case VK_A:
// Arrow right and left keys: turn direction = stop turning
turnDirection = 0;
break;
// Button 3 : Stop firing
case VK_G:
firePower = 0;
break;
// Button 2 : Stop firing
case VK_H:
firePower = 0;
break;
// Button 1 : Stop firing
case VK_J:
firePower = 0;
break;
}
}
}
And Here is the code for PreferencesKeyConfigurationOptionsTab
package robocode.dialog;
import robocode.manager.RobocodeManager;
import robocode.manager.RobocodeProperties;
//import robocode.manager.RobocodeProperties;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class PreferencesKeyConfigurationOptionsTab extends WizardPanel {
private RobocodeManager manager;
private JPanel specificSettingsPanel;
private JPanel fireSettingsPanel;
private JPanel RadarSettingsPanel;
private JComboBox optionsKeyboardComboBox;
private JComboBox optionsKeyboard2ComboBox;
private JComboBox optionsKeyboard3ComboBox;
private JComboBox optionsKeyboard4ComboBox;
// for firesettingsPanel
private JComboBox optionsKeyboard5ComboBox;
private JComboBox optionsKeyboard6ComboBox;
private JComboBox optionsKeyboard7ComboBox;
private JComboBox optionsKeyboard8ComboBox;
private JComboBox optionsKeyboard9ComboBox;
private JCheckBox optionsRenderingBufferImagesCheckBox;
private JButton predefinedPlaformDefaultButton;
private JButton predefinedSpeedButton;
private JButton predefinedQualityButton;
private EventHandler eventHandler;
public PreferencesKeyConfigurationOptionsTab(RobocodeManager manager) {
super();
this.manager = manager;
initialize();
}
private void initialize() {
eventHandler = new EventHandler();
setLayout(new GridLayout(1, 3));
add(getDirectionSettingsPanel());
add(getFireSettingsPanel());
add(getRadarSettingsPanel());
loadPreferences(manager.getProperties());
}
private JPanel getDirectionSettingsPanel() {
if (specificSettingsPanel == null) {
specificSettingsPanel = new JPanel();
specificSettingsPanel.setBorder(
BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
"Direction settings"));
specificSettingsPanel.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.HORIZONTAL;
c.insets = new Insets(6,8,6,8);
c.anchor = GridBagConstraints.PAGE_START;
c.weightx = 2;
c.gridwidth = 4;
c.gridx = 0;
c.gridy = 0;
specificSettingsPanel.add(new JLabel("Set Direction of Robot:"), c);
c.gridwidth = 1;
c.gridy = 1;
specificSettingsPanel.add(new JLabel("RIGHT",
SwingConstants.RIGHT), c);
c.gridx = 1;
specificSettingsPanel.add(getOptionsKeyboardComboBox(), c);
c.gridx = 0;
c.gridy = 2;
specificSettingsPanel.add(new JLabel("LEFT", SwingConstants.RIGHT), c);
c.gridx = 1;
specificSettingsPanel.add(getOptionsKeyboard2ComboBox(), c);
c.gridx = 0;
c.gridy = 3;
specificSettingsPanel.add(new JLabel("UP", SwingConstants.RIGHT), c);
c.gridx = 1;
specificSettingsPanel.add(getOptionsKeyboard3ComboBox(), c);
c.gridx = 0;
c.gridy = 4;
specificSettingsPanel.add(new JLabel("DOWN", SwingConstants.RIGHT), c);
c.gridx = 1;
specificSettingsPanel.add(getOptionsKeyboard4ComboBox(), c);
}
return specificSettingsPanel;
}
private JPanel getFireSettingsPanel() {
if (fireSettingsPanel == null) {
fireSettingsPanel = new JPanel();
fireSettingsPanel.setBorder(
BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
"Power settings"));
fireSettingsPanel.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.HORIZONTAL;
c.insets = new Insets(6,8,6,8);
c.anchor = GridBagConstraints.PAGE_START;
c.weightx = 2;
c.gridwidth = 8;
c.gridx = 0;
c.gridy = 0;
fireSettingsPanel.add(new JLabel("Power Setting:"), c);
c.gridwidth = 1;
c.gridy = 1;
fireSettingsPanel.add(new JLabel("PowerKey 1",
SwingConstants.RIGHT), c);
c.gridx = 1;
fireSettingsPanel.add(getOptionsKeyboard5ComboBox(), c);
c.gridx = 0;
c.gridy = 2;
fireSettingsPanel.add(new JLabel("PowerKey 2",
SwingConstants.RIGHT), c);
c.gridx = 1;
fireSettingsPanel.add(getOptionsKeyboard6ComboBox(), c);
c.gridx = 0;
c.gridy = 3;
fireSettingsPanel.add(new JLabel("PowerKey 3",
SwingConstants.RIGHT), c);
c.gridx = 1;
fireSettingsPanel.add(getOptionsKeyboard7ComboBox(), c);
}
return fireSettingsPanel;
}
private JPanel getRadarSettingsPanel() {
if (RadarSettingsPanel == null) {
RadarSettingsPanel = new JPanel();
RadarSettingsPanel.setBorder(
BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
"Radar Settings"));
RadarSettingsPanel.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.HORIZONTAL;
c.insets = new Insets(6,8,6,8);
c.anchor = GridBagConstraints.PAGE_START;
c.weightx = 2;
c.gridwidth = 5;
c.gridx = 0;
c.gridy = 0;
RadarSettingsPanel.add(new JLabel("Set Radar Button Key:"), c);
c.gridwidth = 1;
c.gridx = 0;
c.gridy = 4;
RadarSettingsPanel.add(new JLabel("RadarKey 1",
SwingConstants.RIGHT), c);
c.gridx = 1;
RadarSettingsPanel.add(getOptionsKeyboard8ComboBox(), c);
c.gridx = 0;
c.gridy = 5;
RadarSettingsPanel.add(new JLabel("RadarKey 2",
SwingConstants.RIGHT), c);
c.gridx = 1;
RadarSettingsPanel.add(getOptionsKeyboard9ComboBox(), c);
}
return RadarSettingsPanel;
}
private JComboBox getOptionsKeyboardComboBox() {
if (optionsKeyboardComboBox == null) {
optionsKeyboardComboBox = new JComboBox(new String[] { " ","A",
"S", "D", "X"});
optionsKeyboardComboBox.addActionListener(eventHandler);
}
return optionsKeyboardComboBox;
}
private JComboBox getOptionsKeyboard2ComboBox() {
if (optionsKeyboard2ComboBox == null) {
optionsKeyboard2ComboBox = new JComboBox(new String[] { "S", "
","A", "D", "X"});
optionsKeyboard2ComboBox.addActionListener(eventHandler);
}
return optionsKeyboard2ComboBox;
}
private JComboBox getOptionsKeyboard3ComboBox() {
if (optionsKeyboard3ComboBox == null) {
optionsKeyboard3ComboBox = new JComboBox(new String[] { "D", "S",
"D", "X"});
optionsKeyboard3ComboBox.addActionListener(eventHandler);
}
return optionsKeyboard3ComboBox;
}
private JComboBox getOptionsKeyboard4ComboBox() {
if (optionsKeyboard4ComboBox == null) {
optionsKeyboard4ComboBox = new JComboBox(new String[] { "X", "S",
"D", "X"});
optionsKeyboard4ComboBox.addActionListener(eventHandler);
}
return optionsKeyboard4ComboBox;
}
private JComboBox getOptionsKeyboard5ComboBox() {
if (optionsKeyboard5ComboBox == null) {
optionsKeyboard5ComboBox = new JComboBox(new String[] { " ","A",
"S", "D", "X"});
optionsKeyboard5ComboBox.addActionListener(eventHandler);
}
return optionsKeyboard5ComboBox;
}
private JComboBox getOptionsKeyboard6ComboBox() {
if (optionsKeyboard6ComboBox == null) {
optionsKeyboard6ComboBox = new JComboBox(new String[] { " ","A",
"S", "D", "X"});
optionsKeyboard6ComboBox.addActionListener(eventHandler);
}
return optionsKeyboard6ComboBox;
}
private JComboBox getOptionsKeyboard7ComboBox() {
if (optionsKeyboard7ComboBox == null) {
optionsKeyboard7ComboBox = new JComboBox(new String[] { " ","A",
"S", "D", "X"});
optionsKeyboard7ComboBox.addActionListener(eventHandler);
}
return optionsKeyboard7ComboBox;
}
private JComboBox getOptionsKeyboard8ComboBox() {
if (optionsKeyboard8ComboBox == null) {
optionsKeyboard8ComboBox = new JComboBox(new String[] { " ","A",
"S", "D", "X"});
optionsKeyboard8ComboBox.addActionListener(eventHandler);
}
return optionsKeyboard8ComboBox;
}
private JComboBox getOptionsKeyboard9ComboBox() {
if (optionsKeyboard9ComboBox == null) {
optionsKeyboard9ComboBox = new JComboBox(new String[] { " ","A",
"S", "D", "X"});
optionsKeyboard9ComboBox.addActionListener(eventHandler);
}
return optionsKeyboard9ComboBox;
}
private void loadPreferences(RobocodeProperties props) {
getOptionsKeyboardComboBox().setSelectedIndex(props.getOptionsRenderingAntialiasing());
getOptionsKeyboard2ComboBox().setSelectedIndex(props.getOptionsRenderingTextAntialiasing());
getOptionsKeyboard3ComboBox().setSelectedIndex(props.getOptionsRenderingMethod());
getOptionsKeyboard4ComboBox().setSelectedIndex(props.getOptionsRenderingMethod());
getOptionsKeyboard5ComboBox().setSelectedIndex(props.getOptionsRenderingMethod());
getOptionsKeyboard6ComboBox().setSelectedIndex(props.getOptionsRenderingMethod());
getOptionsKeyboard7ComboBox().setSelectedIndex(props.getOptionsRenderingMethod());
getOptionsKeyboard8ComboBox().setSelectedIndex(props.getOptionsRenderingMethod());
getOptionsKeyboard9ComboBox().setSelectedIndex(props.getOptionsRenderingMethod());
}
public void storePreferences() {
RobocodeProperties props = manager.getProperties();
props.setOptionsRenderingAntialiasing(optionsKeyboardComboBox.getSelectedIndex());
props.setOptionsRenderingTextAntialiasing(optionsKeyboard2ComboBox.getSelectedIndex());
props.setOptionsRenderingMethod(optionsKeyboard3ComboBox.getSelectedIndex());
props.setOptionsRenderingMethod(optionsKeyboard4ComboBox.getSelectedIndex());
props.setOptionsRenderingMethod(optionsKeyboard5ComboBox.getSelectedIndex());
props.setOptionsRenderingMethod(optionsKeyboard6ComboBox.getSelectedIndex());
props.setOptionsRenderingMethod(optionsKeyboard7ComboBox.getSelectedIndex());
props.setOptionsRenderingMethod(optionsKeyboard8ComboBox.getSelectedIndex());
props.setOptionsRenderingMethod(optionsKeyboard9ComboBox.getSelectedIndex());
manager.saveProperties();
}
@Override
public boolean isReady() {
return true;
}
private void setPredefinedSettings(int index) {
optionsKeyboardComboBox.setSelectedIndex(index);
optionsKeyboard2ComboBox.setSelectedIndex(index);
optionsKeyboard3ComboBox.setSelectedIndex(index);
}
private class EventHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
Object src = e.getSource();
if (src == predefinedPlaformDefaultButton) {
setPredefinedSettings(0);
} else if (src == predefinedQualityButton) {
setPredefinedSettings(1);
} else if (src == predefinedSpeedButton) {
setPredefinedSettings(2);
} else if (src == optionsRenderingBufferImagesCheckBox) {
// Reset images so they are reloaded and gets buffered or unbuffered
new Thread() {
@Override
public void run() {
storePreferences();
manager.getImageManager().initialize();
}
}.start();
return;
}
manager.getWindowManager().getRobocodeFrame().getBattleView().setInitialized(false);
}
}
}
NOW I WANT USER TO GET KEY CONFIGURA FROM
PreferencesKeyConfigurationOptionsTab.JAVA
I HOPE U UNDERSTAND THIS PROBLEM.
I MEAN WHEN USER LEFT KEY FROM COMBOBOX.It will directly assigned to
Left in Sprobot.java ( which is my robot).
Also i want to send These three java files.here is the link
1.PreferencesDialog.java
http://www.sendspace.com/file/6kgbv4
2.PreferencesKeyConfigurationOptionsTab.java
http://www.sendspace.com/file/rkzn2d
3.Uniteam3a SEPERATE PROJECT FOR Robot full package in rar format
http://www.sendspace.com/file/zkrv1m
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/Robocode/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/Robocode/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:Robocode-***@yahoogroups.com
mailto:Robocode-***@yahoogroups.com
<*> To unsubscribe from this group, send an email to:
Robocode-***@yahoogroups.com
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/