Don't like ads? PRO users don't see any ads ;-)
Guest

percent code

By: a guest on Aug 3rd, 2012  |  syntax: Ruby  |  size: 3.96 KB  |  hits: 27  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1.  
  2. include Java
  3.  
  4. import java.awt.Dimension
  5. import javax.swing.JButton
  6. import javax.swing.JFrame
  7. import javax.swing.JPanel
  8. import javax.swing.JLabel
  9. import javax.swing.JTextArea
  10. import java.lang.System
  11.  
  12.  
  13. class Example < JFrame
  14.         def initialize
  15.         super "This is the title"
  16.        
  17.         self.initUI
  18.     end
  19.      
  20.     def initUI
  21.  
  22.                
  23.         panel = JPanel.new
  24.         self.getContentPane.add panel
  25.  
  26.         panel.setLayout nil
  27.         panel.setToolTipText "this is a panel"
  28.        
  29.         label1 = JLabel.new "What is"
  30.         label1.setBounds 10,20,60,30
  31.    
  32.         textArea = JTextArea.new
  33.         textArea.setBounds 80,20,50,30
  34.         textArea.setEditable true
  35.        
  36.         label2 = JLabel.new "% of"
  37.         label2.setBounds 140,20,40,30
  38.        
  39.         textArea2 = JTextArea.new
  40.         textArea2.setBounds 190,20,100,30
  41.         textArea2.setEditable true
  42.        
  43.         label3 = JLabel.new "answer"
  44.         label3.setBounds 410,20,75,30
  45.        
  46.         button = JButton.new "Calculate"
  47.         button.setBounds 300,20,100,30
  48.         button.add_action_listener do |e|
  49.                         begin
  50.                                 num1 = textArea.getText.to_f
  51.                                 num2 = textArea2.getText.to_f
  52.                                 answ = ((num2/100) * num1).to_s
  53.                                 label3.setText answ
  54.                         rescue
  55.                                 label3.setText "try again"
  56.                         end
  57.         end
  58.        
  59.        
  60.                 panel.add label1
  61.         panel.add textArea
  62.         panel.add label2
  63.         panel.add textArea2
  64.         panel.add button
  65.         panel.add label3
  66.        
  67.         textArea3 = JTextArea.new
  68.         textArea3.setBounds 10,60,50,30
  69.         textArea3.setEditable true
  70.        
  71.         label4 = JLabel.new "is what percent of"
  72.         label4.setBounds 70,60,130,30
  73.        
  74.         textArea4 = JTextArea.new
  75.         textArea4.setBounds 210,60,80,30
  76.         textArea4.setEditable true
  77.        
  78.         label5 = JLabel.new "answer"
  79.         label5.setBounds 410,60,75,30
  80.        
  81.         button2 = JButton.new "Calculate"
  82.         button2.setBounds 300,60,100,30
  83.         button2.add_action_listener do |e|
  84.                         begin
  85.                                 num3 = textArea3.getText.to_f
  86.                                 num4 = textArea4.getText.to_f
  87.                                 answ2 = num4/100
  88.                                 answ2 = num3 * answ2
  89.                                 answ2 = answ2.to_s
  90.                                 label5.setText answ2
  91.                         rescue
  92.                                 label5.setText "try again"
  93.                         end
  94.         end
  95.        
  96.         panel.add textArea3
  97.         panel.add label4
  98.         panel.add textArea4
  99.         panel.add button2
  100.         panel.add label5
  101.        
  102.         label6 = JLabel.new "what is the percentage increase/decrease"
  103.         label6.setBounds 10,100,335,30
  104.        
  105.         panel.add label6
  106.        
  107.         label7 = JLabel.new "from"
  108.         label7.setBounds 10,140,60,30
  109.        
  110.         textArea5 = JTextArea.new
  111.         textArea5.setBounds 60,140,100,30
  112.         textArea5.setEditable true
  113.        
  114.         label8 = JLabel.new "to"
  115.         label8.setBounds 170,140,30,30
  116.        
  117.         textArea6 = JTextArea.new
  118.         textArea6.setBounds 190,140,100,30
  119.         textArea6.setEditable true
  120.        
  121.         label9 = JLabel.new "answer"
  122.         label9.setBounds 410,140,75,30
  123.        
  124.         button3 = JButton.new "Calculate"
  125.         button3.setBounds 300,140,100,30
  126.         button3.add_action_listener do |e|
  127.                         num5 = textArea5.getText.to_f
  128.                         num6 = textArea6.getText.to_f
  129.                         if num5 > num6
  130.                                 answ = num5-num6
  131.                                 answ = (answ/num5) * 100
  132.                                 answ = answ * (-1)
  133.                                 answ = answ.to_s
  134.                                 label9.setText answ
  135.                         elsif num6 > num5
  136.                                 answ = num6-num5
  137.                                 answ = (answ/num6) * 100
  138.                                 answ = answ.to_s
  139.                                 label9.setText answ
  140.                         else
  141.                                 label9.setText "0.0"
  142.                         end
  143.         end
  144.        
  145.        
  146.         panel.add label7
  147.         panel.add textArea5
  148.         panel.add label8
  149.         panel.add textArea6
  150.         panel.add button3
  151.         panel.add label9
  152.        
  153.         self.setDefaultCloseOperation JFrame::EXIT_ON_CLOSE
  154.         self.setSize 600, 300
  155.         self.setLocationRelativeTo nil
  156.         self.setVisible true
  157.     end
  158. end
  159.  
  160. Example.new