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
Burrrrn. Bought COD WWII last month when it was on sale for PC. Oh well. Excellent game tho, and the PC version plays/looks amazing (and has it's own PC achievements). ...wondering if this is a lesson on waiting on sales.
...also hoping Rise of the Tomb Raider has it's own PC Achievements
Google Chrome 137.0.7151.120 (offline installer) by Razvan Serea
The web browser is arguably the most important piece of software on your computer. You spend much of your time online inside a browser: when you search, chat, email, shop, bank, read the news, and watch videos online, you often do all this using a browser.
Google Chrome is a browser that combines a minimal design with sophisticated technology to make the web faster, safer, and easier. Use one box for everything--type in the address bar and get suggestions for both search and Web pages. Thumbnails of your top sites let you access your favorite pages instantly with lightning speed from any new tab. Desktop shortcuts allow you to launch your favorite Web apps straight from your desktop. Chrome has many useful features built in, including automatic full-page translation and access to thousands of apps, extensions, and themes from the Chrome Web Store.
Google Chrome is one of the best solutions for Internet browsing giving you high level of security, speed and great features. Important to know! The offline installer links do not include the automatic update feature. Google Chrome 137.0.7151.120 changelog:
[$7000][420697404] High CVE-2025-6191: Integer overflow in V8. Reported by Shaheen Fazim on 2025-05-27
[$4000][421471016] High CVE-2025-6192: Use after free in Profiler. Reported by Chaoyuan Peng (@ret2happy) on 2025-05-31
[425443272] Various fixes from internal audits, fuzzing and other initiatives
Download web installer: Google Chrome Web 32-bit | Google Chrome 64-bit | Freeware
Download: Google Chrome Offline Installer 64-bit | 128.0 MB
Download: Google Chrome Offline Installer 32-bit | 115.0 MB
Download page: Google Chrome Portable
Download: Google Chrome MSI Installers for Windows (automatic update)
View: Chrome Website | Release Notes Get alerted to all of our Software updates on Twitter at @NeowinSoftware
-Drop the art style, it's cool but doesn't fit the franchise at all.
-Make it a gritty single player game, like Halo
-Include deathmatch and all that stuff, extraction can be a separate mode
If they don't do that, it's dead on arrival IMO.
Recent Achievements
Custom Greek Shirts earned a badge One Month Later
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