Advertisement
LightProgrammer000

Formação de triângulo

May 17th, 2020
2,433
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 12.25 KB | None | 0 0
  1. package Aula_14;
  2.  
  3. import java.awt.Color;
  4.  
  5. public class A extends javax.swing.JFrame
  6. {
  7.     // Construtor
  8.     public A()
  9.     {
  10.         initComponents();
  11.         config();
  12.     }
  13.  
  14.     @SuppressWarnings("unchecked")
  15.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  16.     private void initComponents() {
  17.  
  18.         lblSegAB = new javax.swing.JLabel();
  19.         lblSegAC = new javax.swing.JLabel();
  20.         lblSegBC = new javax.swing.JLabel();
  21.         lblAB = new javax.swing.JLabel();
  22.         lblAC = new javax.swing.JLabel();
  23.         lblBC = new javax.swing.JLabel();
  24.         lblImg = new javax.swing.JLabel();
  25.         lblValAB = new javax.swing.JLabel();
  26.         lblValAC = new javax.swing.JLabel();
  27.         lblValBC = new javax.swing.JLabel();
  28.         sldSegAB = new javax.swing.JSlider();
  29.         sldSegAC = new javax.swing.JSlider();
  30.         sldSegBC = new javax.swing.JSlider();
  31.         pan = new javax.swing.JPanel();
  32.         lblFor = new javax.swing.JLabel();
  33.         lblTip = new javax.swing.JLabel();
  34.         btnCal = new javax.swing.JButton();
  35.  
  36.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  37.         getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
  38.  
  39.         lblSegAB.setFont(new java.awt.Font("Agency FB", 0, 24)); // NOI18N
  40.         lblSegAB.setText("<html> <p> Segmento <font color='red'> AB </font> </p> </html>");
  41.         getContentPane().add(lblSegAB, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 20, -1, -1));
  42.  
  43.         lblSegAC.setFont(new java.awt.Font("Agency FB", 0, 24)); // NOI18N
  44.         lblSegAC.setText("<html> <p> Segmento <font color='red'> AC </font> </p> </html>");
  45.         getContentPane().add(lblSegAC, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 120, -1, -1));
  46.  
  47.         lblSegBC.setFont(new java.awt.Font("Agency FB", 0, 24)); // NOI18N
  48.         lblSegBC.setText("<html> <p> Segmento <font color='red'> BC </font> </p> </html>");
  49.         getContentPane().add(lblSegBC, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 220, -1, -1));
  50.  
  51.         lblAB.setFont(new java.awt.Font("Agency FB", 0, 36)); // NOI18N
  52.         lblAB.setForeground(new java.awt.Color(0, 0, 204));
  53.         lblAB.setText("AB");
  54.         getContentPane().add(lblAB, new org.netbeans.lib.awtextra.AbsoluteConstraints(540, 70, -1, -1));
  55.  
  56.         lblAC.setFont(new java.awt.Font("Agency FB", 0, 36)); // NOI18N
  57.         lblAC.setForeground(new java.awt.Color(204, 204, 0));
  58.         lblAC.setText("AC");
  59.         getContentPane().add(lblAC, new org.netbeans.lib.awtextra.AbsoluteConstraints(750, 80, -1, -1));
  60.  
  61.         lblBC.setFont(new java.awt.Font("Agency FB", 0, 36)); // NOI18N
  62.         lblBC.setForeground(new java.awt.Color(153, 0, 153));
  63.         lblBC.setText("BC");
  64.         getContentPane().add(lblBC, new org.netbeans.lib.awtextra.AbsoluteConstraints(600, 200, -1, -1));
  65.  
  66.         lblImg.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagens/tipos-de-triangulos1.jpg"))); // NOI18N
  67.         getContentPane().add(lblImg, new org.netbeans.lib.awtextra.AbsoluteConstraints(430, 20, -1, 210));
  68.  
  69.         lblValAB.setFont(new java.awt.Font("Agency FB", 0, 24)); // NOI18N
  70.         lblValAB.setText("0");
  71.         getContentPane().add(lblValAB, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 60, -1, -1));
  72.  
  73.         lblValAC.setFont(new java.awt.Font("Agency FB", 0, 24)); // NOI18N
  74.         lblValAC.setText("0");
  75.         getContentPane().add(lblValAC, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 160, -1, -1));
  76.  
  77.         lblValBC.setFont(new java.awt.Font("Agency FB", 0, 24)); // NOI18N
  78.         lblValBC.setText("0");
  79.         getContentPane().add(lblValBC, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 270, -1, -1));
  80.  
  81.         sldSegAB.setValue(0);
  82.         sldSegAB.addChangeListener(new javax.swing.event.ChangeListener() {
  83.             public void stateChanged(javax.swing.event.ChangeEvent evt) {
  84.                 sldSegABStateChanged(evt);
  85.             }
  86.         });
  87.         getContentPane().add(sldSegAB, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 70, 220, -1));
  88.  
  89.         sldSegAC.setValue(0);
  90.         sldSegAC.addChangeListener(new javax.swing.event.ChangeListener() {
  91.             public void stateChanged(javax.swing.event.ChangeEvent evt) {
  92.                 sldSegACStateChanged(evt);
  93.             }
  94.         });
  95.         getContentPane().add(sldSegAC, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 170, 220, -1));
  96.  
  97.         sldSegBC.setValue(0);
  98.         sldSegBC.addChangeListener(new javax.swing.event.ChangeListener() {
  99.             public void stateChanged(javax.swing.event.ChangeEvent evt) {
  100.                 sldSegBCStateChanged(evt);
  101.             }
  102.         });
  103.         getContentPane().add(sldSegBC, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 270, 220, -1));
  104.  
  105.         pan.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Resultado", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Agency FB", 0, 18), new java.awt.Color(255, 51, 0))); // NOI18N
  106.  
  107.         lblFor.setFont(new java.awt.Font("Agency FB", 0, 24)); // NOI18N
  108.         lblFor.setText("Forma ou não forma um triângulo ?");
  109.  
  110.         lblTip.setFont(new java.awt.Font("Agency FB", 0, 24)); // NOI18N
  111.         lblTip.setText("Tipo do triângulo");
  112.  
  113.         javax.swing.GroupLayout panLayout = new javax.swing.GroupLayout(pan);
  114.         pan.setLayout(panLayout);
  115.         panLayout.setHorizontalGroup(
  116.             panLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  117.             .addGroup(panLayout.createSequentialGroup()
  118.                 .addContainerGap()
  119.                 .addGroup(panLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  120.                     .addComponent(lblFor, javax.swing.GroupLayout.DEFAULT_SIZE, 748, Short.MAX_VALUE)
  121.                     .addGroup(panLayout.createSequentialGroup()
  122.                         .addComponent(lblTip, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  123.                         .addContainerGap())))
  124.         );
  125.         panLayout.setVerticalGroup(
  126.             panLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  127.             .addGroup(panLayout.createSequentialGroup()
  128.                 .addContainerGap()
  129.                 .addComponent(lblFor)
  130.                 .addGap(18, 18, 18)
  131.                 .addComponent(lblTip)
  132.                 .addContainerGap(42, Short.MAX_VALUE))
  133.         );
  134.  
  135.         getContentPane().add(pan, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 330, 770, 160));
  136.  
  137.         btnCal.setFont(new java.awt.Font("Agency FB", 0, 24)); // NOI18N
  138.         btnCal.setForeground(new java.awt.Color(153, 0, 204));
  139.         btnCal.setText("Calcular");
  140.         btnCal.addActionListener(new java.awt.event.ActionListener() {
  141.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  142.                 btnCalActionPerformed(evt);
  143.             }
  144.         });
  145.         getContentPane().add(btnCal, new org.netbeans.lib.awtextra.AbsoluteConstraints(430, 270, 366, -1));
  146.  
  147.         setBounds(0, 0, 824, 547);
  148.     }// </editor-fold>                        
  149.  
  150.     // Método: Segmento AB
  151.     private void sldSegABStateChanged(javax.swing.event.ChangeEvent evt) {                                      
  152.  
  153.         lblAB.setText(Integer.toString(sldSegAB.getValue()));
  154.         lblValAB.setText(Integer.toString(sldSegAB.getValue()));
  155.     }                                    
  156.  
  157.     // Método: Segmento AC
  158.     private void sldSegACStateChanged(javax.swing.event.ChangeEvent evt) {                                      
  159.  
  160.         lblAC.setText(Integer.toString(sldSegAC.getValue()));
  161.         lblValAC.setText(Integer.toString(sldSegAC.getValue()));
  162.     }                                    
  163.  
  164.     // Método: Segmento BC
  165.     private void sldSegBCStateChanged(javax.swing.event.ChangeEvent evt) {                                      
  166.  
  167.         lblBC.setText(Integer.toString(sldSegBC.getValue()));
  168.         lblValBC.setText(Integer.toString(sldSegBC.getValue()));
  169.     }                                    
  170.  
  171.     // Método: Calcular formação de triângulo
  172.     private void btnCalActionPerformed(java.awt.event.ActionEvent evt) {                                      
  173.  
  174.         //
  175.         int ab = sldSegAB.getValue();
  176.         int ac = sldSegAC.getValue();
  177.         int bc = sldSegBC.getValue();
  178.        
  179.         // Painel
  180.         pan.setVisible(true);
  181.        
  182.         // Estrutura de decisão
  183.         if (analFormTri(ab, ac, bc) == 1)
  184.         {
  185.             tipoTri(ab, ac, bc);                        
  186.         }
  187.        
  188.         else
  189.         {
  190.             lblTip.setText("");
  191.         }
  192.     }                                      
  193.  
  194.     public static void main(String args[])
  195.     {
  196.         try
  197.         {
  198.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels())
  199.             {
  200.                 if ("Nimbus".equals(info.getName()))
  201.                 {
  202.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  203.                     break;
  204.                 }
  205.             }
  206.         }
  207.  
  208.         catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex)
  209.         {
  210.             java.util.logging.Logger.getLogger(A.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  211.         }
  212.  
  213.         java.awt.EventQueue.invokeLater(() -> {
  214.             new A().setVisible(true);
  215.         });
  216.     }
  217.  
  218.     // Variables declaration - do not modify                    
  219.     private javax.swing.JButton btnCal;
  220.     private javax.swing.JLabel lblAB;
  221.     private javax.swing.JLabel lblAC;
  222.     private javax.swing.JLabel lblBC;
  223.     private javax.swing.JLabel lblFor;
  224.     private javax.swing.JLabel lblImg;
  225.     private javax.swing.JLabel lblSegAB;
  226.     private javax.swing.JLabel lblSegAC;
  227.     private javax.swing.JLabel lblSegBC;
  228.     private javax.swing.JLabel lblTip;
  229.     private javax.swing.JLabel lblValAB;
  230.     private javax.swing.JLabel lblValAC;
  231.     private javax.swing.JLabel lblValBC;
  232.     private javax.swing.JPanel pan;
  233.     private javax.swing.JSlider sldSegAB;
  234.     private javax.swing.JSlider sldSegAC;
  235.     private javax.swing.JSlider sldSegBC;
  236.     // End of variables declaration                  
  237.  
  238.     private void config()
  239.     {
  240.         // Frame
  241.         this.setTitle("Formação de triângulo");
  242.         this.setResizable(false);
  243.         this.setLocationRelativeTo(null);
  244.         this.getContentPane().setBackground(Color.WHITE);
  245.        
  246.         // Painel
  247.         pan.setBackground(Color.WHITE);
  248.         pan.setVisible(false);
  249.     }
  250.  
  251.     // Método: Formação de triângulo
  252.     private int analFormTri(int ab, int ac, int bc)
  253.     {
  254.         if ( (ab < ac + bc) && (ac < ab + bc) && (bc < ac + bc) )
  255.         {
  256.             lblFor.setText(String.format(
  257.             "<html>\n" +
  258.             "<p> Análise: <font color='green'> As medidas informadas formam um triângulo !!! </font> </p>\n" +
  259.             "</html>"));
  260.  
  261.             return (1);
  262.         }
  263.  
  264.         else
  265.         {
  266.             lblFor.setText(String.format(
  267.             "<html>\n" +
  268.             "<p> Análise: <font color='red'> As medidas informadas não formam um triângulo !!! </font> </p>\n" +
  269.             "</html>"));
  270.  
  271.             return (0);
  272.         }
  273.     }
  274.  
  275.     // Método: Tipo do triângulo
  276.     private void tipoTri(int ab, int ac, int bc)
  277.     {
  278.         if (ab == ac && ac == bc)
  279.         {
  280.             lblTip.setText(String.format(
  281.             "<html>\n" +
  282.             "<p> Tipo: <font color='green'> Triângulo Equilátero !!! </font> </p>\n" +
  283.             "</html>"));
  284.         }
  285.  
  286.         else if(ab != ac && ac != bc && bc != ab)
  287.         {
  288.             lblTip.setText(String.format(
  289.             "<html>\n" +
  290.             "<p> Tipo: <font color='blue'> Triângulo Escaleno !!! </font> </p>\n" +
  291.             "</html>"));            
  292.         }
  293.  
  294.         else
  295.         {
  296.             lblTip.setText(String.format(
  297.             "<html>\n" +
  298.             "<p> Tipo: <font color='purple'> Triângulo Isósceles !!! </font> </p>\n" +
  299.             "</html>"));  
  300.         }
  301.     }
  302. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement