Mam problem z kompilacją projektu javy w konsoli. W NetBeansie program działa bezbłędnie natomiast w wierszu polecenia już nie
package bmiGui;
import javax.swing.*;
import java.util.Scanner;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JTextArea;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
/**
*
* @author Krystian
*/
public class bmiGui extends JFrame implements ActionListener
{
private JTextField tImie, tWiek, tWzrost, tWaga, tWynik;
private JLabel lImie, lWiek, lWzrost, lWaga, lWynik, lCm, lKg, loutput, lInfo;
private JButton bWyjście, bOblicz ,bNorma;
private JTextArea output = new JTextArea(6,30);
public bmiGui()
{
setSize(800,500);
setTitle("Kalkulator BMI");
setLayout(null);
lImie = new JLabel("Podaj swoje imię:", JLabel.RIGHT);
lImie.setBounds(30, 60, 100, 50);
tImie = new JTextField();
tImie.setBounds(200, 70, 150, 30);
lWiek = new JLabel("Podaj swój wiek: ", JLabel.RIGHT);
lWiek.setBounds(30, 110, 100, 50);
tWiek = new JTextField();
tWiek.setBounds(200, 120, 150, 30);
lWzrost = new JLabel("Podaj swój wzrost: ", JLabel.RIGHT);
lWzrost.setBounds(30, 160, 120, 50);
tWzrost = new JTextField();
tWzrost.setBounds(200, 170, 150, 30);
lWaga = new JLabel("Podaj swoją wagę: ", JLabel.RIGHT);
lWaga.setBounds(30, 220, 120, 50);
tWaga = new JTextField();
tWaga.setBounds(200, 230, 150, 30);
loutput = new JLabel("Wynik:", JLabel.RIGHT);
loutput.setBounds(339, 10, 100, 100);
output = new JTextArea();
output.setEditable(false);
output.setBounds(400, 80, 300, 200);
lInfo = new JLabel("Kalkulator BMI", JLabel.HEIGHT);
lInfo.setBounds(650, 400, 130, 100);
lCm = new JLabel("cm", JLabel.RIGHT);
lCm.setBounds(30, 160, 340, 50);
lKg = new JLabel("kg", JLabel.RIGHT);
lKg.setBounds(30, 220, 336, 50);
add(lImie);
add(tImie);
add(tWiek);
add(lWiek);
add(tWzrost);
add(lWzrost);
add(lCm);
add(lKg);
add(lWaga);
add(tWaga);
add(output);
add(loutput);
add(lInfo);
bOblicz = new JButton("Oblicz BMI");
bOblicz.setBounds(250, 300, 100, 50);
bOblicz.addActionListener(this);
bWyjście = new JButton("Wyjście z programu");
bWyjście.setBounds(550, 380, 200, 60);
bWyjście.addActionListener(this);
bNorma = new JButton("Podaj normę");
bNorma.setBounds(250, 360, 150, 50);
bNorma.addActionListener(this);
add(bOblicz);
add(bWyjście);
add(bNorma);
}
@Override
public void actionPerformed(ActionEvent e)
{
Object źródło = e.getSource();
if (źródło==bWyjście)
{
dispose();
}
else if (źródło==bOblicz)
{
bOblicz.addActionListener(new Liczydlo());
}
else if (źródło==bNorma)
{
output.setText("Indeks BMI powinień mieścić się w \n przedziale od 18 do 25 punktów. \n \n Wynik poniżej 18 punktów oznacza niedowagę. "
+ "\n Nadwaga i otyłość zaczyna się od 25 punktów"
+ "\n \n Jeżeli Twój wynik jest wyższy lub niższy \n powinieneś skonsultować się z lekarzem");
}
}
public static void main(String[] args)
{
bmiGui app = new bmiGui();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.setVisible(true);
}
class Liczydlo implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{
output.setText("");
String answer = "";
int wiek = 0;
double wzrost = 0.0;
double waga = 0.0;
boolean ok = true;
try
{
wiek = Integer.parseInt(tWiek.getText().trim());
waga = Double.parseDouble(tWaga.getText());
wzrost = Double.parseDouble(tWzrost.getText());
}
catch(Exception e)
{
ok = false;
}
if(ok)
{
double bmi = (waga/Math.pow(wzrost/100,2));
if(bmi<16)
{
output.setText("Witaj " +tImie.getText()+"!" + "\n\nTwój indeks BMI wynosi: " + bmi + " \n\n "
+ "Twój indeks BMI jest skrajnie niski. \n Koniecznie skonsultuj się z lekarzem!");
}
else if(bmi<18)
{
output.setText("Witaj " +tImie.getText()+"!" + "\n\nTwój indeks BMI wynosi: " + bmi + " \n\n "
+ "Niestety Twój indeks BMI jest za niski. \n Zmiana trybu życia i zdrowsza dieta powinna pomóc");
}
else if (bmi>25 && bmi<=30)
{
output.setText("Witaj " +tImie.getText()+"!" + "\n\nTwój indeks BMI wynosi: " + bmi + " \n\n "
+ "Niestety Twój indeks BMI jest za wysoki. \n Zmień tryb życia, pora na odchudzanie!");
}
else if (bmi>30 && bmi<=35)
{
output.setText("Witaj " +tImie.getText()+"!" + "\n\nTwój indeks BMI wynosi: " + bmi + " \n\n "
+ "Niestety Twój indeks BMI jest za za wysoki. \n Jest to I stopień otyłości! \n "
+ "Powinieneś udać się do dietetyka");
}
else if (bmi>=35)
{
output.setText("Witaj " +tImie.getText()+"!" + "\n\nTwój indeks BMI wynosi: " + bmi + " \n\n "
+ "Niestety Twój indeks BMI jest za za wysoki. \n Jest to II stopień otyłości! \n "
+ "Natychmiast zmień swoją dietę! Wizyta u dietetyka jest konieczna");
}
else
{
output.setText("Witaj " +tImie.getText()+"!" + "\n\nTwój indeks BMI wynosi: " + bmi + " \n\n "
+ "Gratulacje, Twój indeks BMI jest w normie!\n Tak trzymaj!");
}
}
else
{
output.setText(tImie.getText()+"Podaj prawidłowe dane: ");
}
}
}
}