Triangulo, validar Triagulo

2 respostas
D

Olá galera,
Estou começando java agora, e não estou conseguindo usar o JFrame para validar esses Triagulos, Na hora que vai executar da um erro no metodo “main”!! Não sei que diabo e isso, pior que esse codigo rodou uma vez e agora não roda!! Pra vocês ver que não to mentido o botão vai ficar por cima de tudo, esse problema eu acho sei resolver e soh criar o Layaut!! Mas no main não sei. E meu professor de java tb não sabe resolver isso!!

import java.awt.<em>;

import java.awt.event.</em>;

import javax.swing.*;
// cria a class triagulo usando o metodo frame

public class Triagulo extends JFrame{

// Declara Os tres Campo de texto

JTextField campo1;

JTextField campo2;

JTextField campo3;

// Usando metodo param para ser o contrutor
public Triagulo (String param){

setTitle(param); //adiciona um título ao frame
               
                campo1 = new JTextField(10);
                campo2 = new JTextField(10);
                campo3 = new JTextField(10);
                JButton botao = new JButton("Verificar");
                JLabel L1 = new JLabel("Campo A");
                JLabel L2 = new JLabel("Campo B");
                JLabel L3 = new JLabel("Campo C");
                add(L1, campo1);
                add(campo1);
                add(L2);
                add(campo2);
                add(L3);
                add(campo3);
                add(botao);
                
                // Criando um evento para o botão quando clicar
               botao.addActionListener( new ActionListener(){
               public void actionPerformed(ActionEvent e){
                   
                 // convertendo de string para inteiros  
                int ladoa = Integer.parseInt(campo1.getText());
                int ladob = Integer.parseInt(campo2.getText());
                int ladoc = Integer.parseInt(campo3.getText());
            



     if (ladoa == 0 || ladob == 0 || ladoc == 00 ){
      //  resultado = (new JPanel("Triangulo com lado 0"));
          System.out.print("Não pode ser Triangulo pois tem lado 0");
     } else
          if (ladoa + ladob &gt; ladoc || ladoa + ladoc &gt; ladob || ladoc +
ladob > ladoa ) {

System.out.print(Triagulo não valido, soma dos lados maior);

} else
if (ladoa == ladob &amp;&amp; ladoc == ladoa &amp;&amp; ladoc == ladob) {
      System.out.print("Triagulo Equilátero");
      } else
            if (ladoa == ladob || ladoc == ladoa || ladoc == ladob){
      System.out.print("Triangulo isóscels");


      } else
          if (ladoa != ladob &amp;&amp; ladoc != ladoa &amp;&amp; ladoc != ladob) {
       System.out.print("Triangulo escalenos");
           }
               }
           });

           
       }
public static void main (String  [] args){

Triagulo T = new Triagulo(Triagulo);

T.pack();

/*

Note que pack() é método da classe Frame,

só é possível usar por causa do

“extends Frame”.

*/

T.setVisible(true);
}

}

2 Respostas

F

Agora funciona:

import java.awt.Container;

import java.awt.FlowLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;
import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JTextField;
// cria a class triagulo usando o metodo frame

public class Triangulo extends JFrame {

// Declara Os tres Campo de texto

JTextField campo1;
JTextField campo2;

JTextField campo3;

// Usando metodo param para ser o contrutor
public Triangulo(String param) {

	Container c = new Container();
	c = this.getContentPane();
	c.setLayout(new FlowLayout());
	
	setTitle(param); // adiciona um título ao frame

	campo1 = new JTextField(10);
	campo2 = new JTextField(10);
	campo3 = new JTextField(10);
	JButton botao = new JButton("Verificar");
	JLabel L1 = new JLabel("Campo A");
	JLabel L2 = new JLabel("Campo B");
	JLabel L3 = new JLabel("Campo C");
	c.add(L1);
	c.add(campo1);
	c.add(L2);
	c.add(campo2);
	c.add(L3);
	c.add(campo3);
	c.add(botao);

	// Criando um evento para o botão quando clicar
	botao.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {

			// convertendo de string para inteiros
			int ladoa = Integer.parseInt(campo1.getText());
			int ladob = Integer.parseInt(campo2.getText());
			int ladoc = Integer.parseInt(campo3.getText());

			if (ladoa == 0 || ladob == 0 || ladoc == 00) {
				// resultado = (new JPanel("Triangulo com lado 0"));
				System.out.print("Não pode ser Triangulo pois tem lado 0");
			} else if (ladoa + ladob > ladoc || ladoa + ladoc > ladob
					|| ladoc + ladob > ladoa) {
				System.out
						.print("Triagulo não valido, soma dos lados maior");
			} else

			if (ladoa == ladob && ladoc == ladoa && ladoc == ladob) {
				System.out.print("Triagulo Equilátero");
			} else if (ladoa == ladob || ladoc == ladoa || ladoc == ladob) {
				System.out.print("Triangulo isóscels");

			} else if (ladoa != ladob && ladoc != ladoa && ladoc != ladob) {
				System.out.print("Triangulo escalenos");
			}
		}
	});

}

public static void main(String[] args) {
	Triangulo T = new Triangulo("Triagulo");
	T.pack();
	/*
	 * Note que pack() é método da classe Frame, só é possível usar por
	 * causa do "extends Frame".
	 */
	T.setVisible(true);

}

}

F

O problema é a linha que tu deu o primeiro add:

add(L1, campo1);

Tu tem que adicionar um componente por vez, assim com voce fez nos componentes posteriores.

Criado 3 de maio de 2005
Ultima resposta 4 de mai. de 2005
Respostas 2
Participantes 2