package farmerjomes; import java.awt.*; import java.awt.event.*; import java.applet.*; import javax.swing.*; /** *
Title: FarmerJones
*Description:
*Copyright: Copyright (c)10/2004
*Company:
* @author Steve Danhof * @version 1.0 */ public class FarmerJonesApplet extends JApplet { private boolean isStandalone = false; JLabel jLabel1 = new JLabel(); JPanel jPanel1 = new JPanel(); JLabel jLblChickens = new JLabel(); JLabel jlblPigs = new JLabel(); JLabel jLblCows = new JLabel(); JLabel jLabel3 = new JLabel(); JTextField jTxtChickenPrice = new JTextField(); JTextField jTxtPigPrice = new JTextField(); JTextField jTxtCowPrice = new JTextField(); JLabel jLblMaxPrice = new JLabel(); JLabel jLblMaxQ = new JLabel(); JTextField jTxtMaxPrice = new JTextField(); JTextField jTxtMaxQ = new JTextField(); JLabel jLblCows1 = new JLabel(); JLabel jlblPigs1 = new JLabel(); JLabel jLblChickens1 = new JLabel(); JButton jBtnGo = new JButton(); JTextArea jTxtArea = new JTextArea(); //Get a parameter value public String getParameter(String key, String def) { return isStandalone ? System.getProperty(key, def) : (getParameter(key) != null ? getParameter(key) : def); } //Construct the applet public FarmerJonesApplet() { } //Initialize the applet public void init() { try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { jLabel1.setFont(new java.awt.Font("Dialog", 1, 33)); jLabel1.setHorizontalAlignment(SwingConstants.CENTER); jLabel1.setText("Farmer Jones Farm"); this.setSize(new Dimension(657, 542)); jPanel1.setLayout(null); jLblChickens.setText("Chickens"); jLblChickens.setBounds(new Rectangle(91, 16, 62, 19)); jlblPigs.setText("Pigs"); jlblPigs.setBounds(new Rectangle(163, 16, 34, 15)); jLblCows.setText("Cows"); jLblCows.setBounds(new Rectangle(215, 17, 34, 15)); jLabel3.setText("Price"); jLabel3.setBounds(new Rectangle(63, 40, 34, 15)); jTxtChickenPrice.setText(".50"); jTxtChickenPrice.setBounds(new Rectangle(97, 37, 38, 20)); jTxtPigPrice.setText("2.00"); jTxtPigPrice.setBounds(new Rectangle(156, 37, 41, 20)); jTxtCowPrice.setText("10.00"); jTxtCowPrice.setBounds(new Rectangle(208, 37, 46, 20)); jLblMaxPrice.setText("Maximum Price:"); jLblMaxPrice.setBounds(new Rectangle(125, 65, 118, 22)); jLblMaxQ.setText("Maximum Number Of Animals:"); jLblMaxQ.setBounds(new Rectangle(61, 89, 183, 19)); jTxtMaxPrice.setText("100.00"); jTxtMaxPrice.setBounds(new Rectangle(245, 69, 62, 20)); jTxtMaxQ.setText("100"); jTxtMaxQ.setBounds(new Rectangle(245, 88, 62, 20)); jLblCows1.setBounds(new Rectangle(546, 27, 34, 15)); jLblCows1.setText("Cows"); jlblPigs1.setBounds(new Rectangle(474, 24, 34, 15)); jlblPigs1.setText("Pigs"); jLblChickens1.setBounds(new Rectangle(389, 22, 60, 19)); jLblChickens1.setText("Chickens"); jBtnGo.setBounds(new Rectangle(95, 130, 167, 40)); jBtnGo.setText("Show me the answers"); jBtnGo.addActionListener(new FarmerJonesApplet_jBtnGo_actionAdapter(this)); jTxtArea.setBounds(new Rectangle(385, 51, 238, 425)); this.getContentPane().add(jLabel1, BorderLayout.NORTH); this.getContentPane().add(jPanel1, BorderLayout.CENTER); jPanel1.add(jLblChickens, null); jPanel1.add(jTxtCowPrice, null); jPanel1.add(jTxtPigPrice, null); jPanel1.add(jLabel3, null); jPanel1.add(jLblCows, null); jPanel1.add(jlblPigs, null); jPanel1.add(jLblMaxQ, null); jPanel1.add(jLblChickens1, null); jPanel1.add(jBtnGo, null); jPanel1.add(jTxtArea, null); jPanel1.add(jLblCows1, null); jPanel1.add(jLblMaxPrice, null); jPanel1.add(jTxtMaxQ, null); jPanel1.add(jTxtMaxPrice, null); jPanel1.add(jTxtChickenPrice, null); jPanel1.add(jlblPigs1, null); } //Get Applet information public String getAppletInfo() { return "Applet Information"; } //Get parameter info public String[][] getParameterInfo() { return null; } int doubleToInt(double arg){ arg +=.5;// A rounding thing String temp = Double.toString(arg); temp = temp.substring(0,temp.indexOf(".")); int a = Integer.parseInt(temp); return a; } //static initializer for setting look & feel static { try { //UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); //UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); } catch(Exception e) { } } void jBtnGo_actionPerformed(ActionEvent e) { jTxtArea.setText(""); double chickenPrice = Double.parseDouble(jTxtChickenPrice.getText()); double pigPrice = Double.parseDouble(jTxtPigPrice.getText()); double cowPrice = Double.parseDouble(jTxtCowPrice.getText()); int maxPrice = doubleToInt(Double.parseDouble(jTxtMaxPrice.getText())); int maxQty = doubleToInt(Double.parseDouble(jTxtMaxQ.getText())); int numberOfChickens, numberOfPigs, numberOfCows; for (numberOfCows = maxQty; numberOfCows >= 0; numberOfCows--){ for(numberOfPigs = maxQty; numberOfPigs >= 0; numberOfPigs--){ for(numberOfChickens = maxQty; numberOfChickens >= 0; numberOfChickens--){ if (numberOfCows + numberOfPigs + numberOfChickens == maxQty && chickenPrice * numberOfChickens + pigPrice * numberOfPigs + cowPrice * numberOfCows == maxPrice){ jTxtArea.append(Integer.toString(numberOfChickens) + "\t" + Integer.toString(numberOfPigs) + "\t" + Integer.toString(numberOfCows) + "\n"); } } } } /* txtBox.Clear() Dim chickenPrice As Double = 0.5 Dim pigPrice As Double = 2 Dim cowPrice As Double = 10 Dim numberOfCows, numberOfPigs, numberOfChickens As Integer For numberOfCows = 100 To 0 Step -1 For numberOfPigs = 100 To 0 Step -1 For numberOfChickens = 100 To 0 Step -1 If numberOfCows + numberOfPigs + numberOfChickens = 100 And chickenPrice * numberOfChickens + pigPrice * numberOfPigs + cowPrice * numberOfCows = 100 Then txtBox.Text += numberOfChickens & ControlChars.Tab & numberOfPigs & ControlChars.Tab & numberOfCows & ControlChars.CrLf End If Next Next Next*/ } } class FarmerJonesApplet_jBtnGo_actionAdapter implements java.awt.event.ActionListener { FarmerJonesApplet adaptee; FarmerJonesApplet_jBtnGo_actionAdapter(FarmerJonesApplet adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.jBtnGo_actionPerformed(e); } }