Hey guys, I guess it'd be a good idea to explain the basic principle of this program since knowing my Java 'skills' I'll be asking a lot of questions regarding it.
It will basically consist of an "add ant" button that will create an ant in a little panel, each ant has it's own ID (1-10, 10 being the maximum amount of ants) and it's own unique colour. There will be ten radio buttons below the panel so that the user can select what ant they want to move, and they can actually move the ant by using the arrow keys.
The 'ant type' box is disabled at the moment, there's no real need to have it, although I stuck it on there because it may be implemented at a later date.
Here's the code at present:
/* Ant.java
A program created to simulate an ant colony.
Author : Nick Drew
Date : 15/02/2005
Ref : U30.01 - Java Programming */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.text.DecimalFormat;
public class Ant extends JFrame
{
int colonySize = 0;
int[] index = new int[10];
// JLabel and JTextfield for Ant Type
private JLabel typeJLabel;
private JTextField typeJTextField;
// JButton to create an ant
private JButton createJButton;
// JTextArea to display results
private JTextArea backgroundJTextArea;
// JLabel for the Instructions
private JLabel instructionsJLabel;
// JLabels for the Ants
private JLabel antOneJLabel;
private JLabel antTwoJLabel;
private JLabel antThreeJLabel;
private JLabel antFourJLabel;
private JLabel antFiveJLabel;
private JLabel antSixJLabel;
private JLabel antSevenJLabel;
private JLabel antEightJLabel;
private JLabel antNineJLabel;
private JLabel antTenJLabel;
// JLabels for the Key
private JLabel keyOneJLabel;
private JLabel keyTwoJLabel;
private JLabel keyThreeJLabel;
private JLabel keyFourJLabel;
private JLabel keyFiveJLabel;
private JLabel keySixJLabel;
private JLabel keySevenJLabel;
private JLabel keyEightJLabel;
private JLabel keyNineJLabel;
private JLabel keyTenJLabel;
// no-argument constructor
public Ant()
{
createUserInterface();
}
// create and position GUI components; register event handlers
private void createUserInterface()
{
// get content pane and set layout to null
Container contentPane = getContentPane();
contentPane.setLayout( null );
// set up typeJLabel
typeJLabel = new JLabel();
typeJLabel.setBounds( 164, 22, 80, 21 );
typeJLabel.setText( "Ant Type:" );
contentPane.add( typeJLabel );
// set up typeJTextField
typeJTextField = new JTextField();
typeJTextField.setBounds( 238, 22, 98, 21 );
typeJTextField.setHorizontalAlignment( JTextField.RIGHT );
typeJTextField.setEnabled( false );
contentPane.add( typeJTextField );
/* ----------------------------- */
/* Start Of Key / Selection Area */
// set up instructionsJLabel
instructionsJLabel = new JLabel();
instructionsJLabel.setBounds( 136, 328, 226, 21 );
instructionsJLabel.setText( "Please select the ant you wish to move." );
contentPane.add( instructionsJLabel );
// set up keyOneJLabel
keyOneJLabel = new JLabel();
keyOneJLabel.setBounds( 68, 348, 80, 21 );
keyOneJLabel.setText( "?" );
keyOneJLabel.setForeground(Color.BLACK);
contentPane.add( keyOneJLabel );
// set up keyTwoJLabel
keyTwoJLabel = new JLabel();
keyTwoJLabel.setBounds( 68, 368, 80, 21 );
keyTwoJLabel.setText( "?" );
keyTwoJLabel.setForeground(Color.BLUE);
contentPane.add( keyTwoJLabel );
// set up keyThreeJLabel
keyThreeJLabel = new JLabel();
keyThreeJLabel.setBounds( 68, 388, 80, 21 );
keyThreeJLabel.setText( "?" );
keyThreeJLabel.setForeground(Color.CYAN);
contentPane.add( keyThreeJLabel );
// set up keyFourJLabel
keyFourJLabel = new JLabel();
keyFourJLabel.setBounds( 68, 408, 80, 21 );
keyFourJLabel.setText( "?" );
keyFourJLabel.setForeground(Color.GREEN);
contentPane.add( keyFourJLabel );
// set up keyFiveJLabel
keyFiveJLabel = new JLabel();
keyFiveJLabel.setBounds( 68, 428, 80, 21 );
keyFiveJLabel.setText( "?" );
keyFiveJLabel.setForeground(Color.ORANGE);
contentPane.add( keyFiveJLabel );
// set up keySixJLabel
keySixJLabel = new JLabel();
keySixJLabel.setBounds( 268, 348, 80, 21 );
keySixJLabel.setText( "?" );
keySixJLabel.setForeground(Color.PINK);
contentPane.add( keySixJLabel );
// set up keySevenJLabel
keySevenJLabel = new JLabel();
keySevenJLabel.setBounds( 268, 368, 80, 21 );
keySevenJLabel.setText( "?" );
keySevenJLabel.setForeground(Color.RED);
contentPane.add( keySevenJLabel );
// set up keyEightJLabel
keyEightJLabel = new JLabel();
keyEightJLabel.setBounds( 268, 388, 80, 21 );
keyEightJLabel.setText( "?" );
keyEightJLabel.setForeground(Color.BLUE);
contentPane.add( keyEightJLabel );
// set up keyNineJLabel
keyNineJLabel = new JLabel();
keyNineJLabel.setBounds( 268, 408, 80, 21 );
keyNineJLabel.setText( "?" );
keyNineJLabel.setForeground(Color.MAGENTA);
contentPane.add( keyNineJLabel );
// set up keyTenJLabel
keyTenJLabel = new JLabel();
keyTenJLabel.setBounds( 268, 428, 80, 21 );
keyTenJLabel.setText( "?" );
keyTenJLabel.setForeground(Color.YELLOW);
contentPane.add( keyTenJLabel );
// set up createJButton and register its event handler
createJButton = new JButton();
createJButton.setBounds( 198, 58, 94, 24 );
createJButton.setText( "Create Ant" );
contentPane.add( createJButton );
createJButton.addActionListener(
new ActionListener() // anonymous inner class
{
// method called when user clicks createJButton
public void actionPerformed( ActionEvent event )
{
createJButtonActionPerformed( event );
}
} // end anonymous inner class
); // end call to addActionListener
//setup backgroundJTextArea
backgroundJTextArea = new JTextArea();
backgroundJTextArea.setBounds( 46, 86, 386, 246 );
backgroundJTextArea.setEditable( false );
contentPane.add( backgroundJTextArea );
// set properties of window
setTitle( "Java Ant Class" ); // set window's title
setSize( 488, 488 ); // set window's size
setVisible( true ); // display window
} // end method createUserInterface
// method called when user clicks calculateJButton
private void createJButtonActionPerformed( ActionEvent event )
{
JOptionPane.showMessageDialog(null, "Add Ant, etc");
} // end method calculateJButtonActionPerformed
// main method
public static void main( String[] args )
{
Ant application = new Ant();
application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
} // end method main
} // end class Ant
Best practice when switching platforms is to always start fresh and install chipset drivers after reinstall to avoid any issues. I've yet to find a way to eliminate problems caused by this in the same way you can just DDU GPU drivers and switch. Would be nice if they could facilitate it.
Yeah the launcher is fine, but 400mb for the package of all the apps if you only want to use 1 or 2 isn't in my opinion, and seems totally unnecessary.
Though it's dumb as hell to say it's saving you $600 from MSRP when an m4 16GB/512 is $1,200
However what I've seen there isn't that much difference from m3 to m4, so $900 is a good deal!
Here, tell the nice policeman where in your body did Meta touch you, buddy...
Jokes aside, WhatsApp is a perfectly good IM service, so what's your problem with it?
Question
xKratosx
Hey guys, I guess it'd be a good idea to explain the basic principle of this program since knowing my Java 'skills' I'll be asking a lot of questions regarding it.
It will basically consist of an "add ant" button that will create an ant in a little panel, each ant has it's own ID (1-10, 10 being the maximum amount of ants) and it's own unique colour. There will be ten radio buttons below the panel so that the user can select what ant they want to move, and they can actually move the ant by using the arrow keys.
The 'ant type' box is disabled at the moment, there's no real need to have it, although I stuck it on there because it may be implemented at a later date.
Here's the code at present:
Edited by blizeHLink to comment
https://www.neowin.net/forum/topic/287825-java-programming-ant-simulator/Share on other sites
20 answers to this question
Recommended Posts