Witam znowu ja niestety :/
Otóż potrzebuje pomocy z obsługą wyjątków chodzi mi o to że np. jak ktoś w pole JTextField wpisze powiedzmy zero albo jakąś literę pokaże mu w oknie programu albo ramkę z tekstem że wpisał zero i nie można wykonać obliczeń próbowałem z try catch ale coś mi nie wychodziło to
pod spodem kod programu który otrzymałem od tomasz79 przerobiony już bo wcześniej miałem problem z combobox
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package bryly;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class bryly{
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
oknoglowne oknopr = new oknoglowne();
}
private static class oknoglowne {
String lista1 [] = {"","Czworościan", "Prostopadłościan", "Kula","Stożek"};
JComboBox Jlista;
JTextField pole1, pole2, pole3;
JLabel tpole1,tpole2,tpole3, tpole4, wpole1, wpole2;
public oknoglowne()
{
JFrame okno = new JFrame("Bryłki");
okno.setResizable(false);
okno.setSize(500, 400);
okno.setLocationByPlatform(true);
okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(null);
//dodanie JComboBox z listą elementów
Jlista = new JComboBox (lista1);
Jlista.setBounds(50, 15, 200, 25);
JButton klik = new JButton ("Oblicz");
klik.setBounds(50, 200, 200, 35);
klik.setVisible(true);
//dodanie JLabel do opisywania tekstów
tpole1 = new JLabel("Tu podajemy dane różne od zera");
tpole1.setBounds(20, 50, 200, 25);
tpole2 = new JLabel("Tu podajemy dane różne od zera ");
tpole2.setBounds(20, 75, 200, 25);
tpole3 = new JLabel("Tu podajemy dane różne od zera");
tpole3.setBounds(20, 100, 200, 25);
tpole4 = new JLabel("Program do obliczania objętości i pola całkowitego brył geometrycznych");
tpole4.setBounds(10, 50, 600, 525);
//dodanie JLabel do opisywania tekstów
wpole1 = new JLabel("");
wpole1.setBounds(20, 125, 300, 45);
wpole2 = new JLabel("Przycisk do obliczen ↓");
wpole2.setBounds(20, 150, 300, 45);
//dodanie JTextFiled okienka do wprowadzania danych
pole1 = new JTextField ("0.00");
pole1.setBounds(255, 50, 100, 25);
pole2 = new JTextField ("0.00");
pole2.setBounds(255, 75, 100, 25);
pole3 = new JTextField ("0.00");
pole3.setBounds(255, 100, 100, 25);
// nasłuchiwanie listy JComboBox
Jlista.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int nr_lista1 = Jlista.getSelectedIndex();
switch(nr_lista1){
case 0://pierwsza figura
wpole1.setText("Wybierz figurę!!!");
pole3.setVisible(false);
pole2.setVisible(false);
pole1.setVisible(false);
tpole1.setText("");
tpole2.setText("");
tpole3.setText("");
wpole2.setText("");
break;
case 1://pierwsza figura
wpole1.setText("Pole całkowite =");
wpole2.setText("Objętość = ");
tpole1.setText("Długość boku a =");
tpole2.setText("");
tpole3.setText("");
pole3.setVisible(false);
pole2.setVisible(false);
pole1.setVisible(true);
break;
case 2://druga figura
wpole1.setText("Pole =");
tpole1.setText("Długość boku a =");
tpole2.setText("Długość boku b =");
tpole3.setText("Długość boku c =");
wpole1.setText("Pole całkowite =");
wpole2.setText("Objętość = ");
pole2.setVisible(true);
pole3.setVisible(true);
break;
case 3://druga figura
wpole1.setText("Pole całkowite =");
tpole1.setText("Promień r=");
pole3.setVisible(false);
pole2.setVisible(false);
wpole2.setText("Objętość = ");
tpole2.setText("");
tpole3.setText("");
break;
case 4:
wpole1.setText("Pole =");
tpole1.setText("Długość bopromienia r =");
tpole2.setText("Długość tworzącej l =");
tpole3.setText("Wysokość h = ");
wpole1.setText("Pole całkowite =");
wpole2.setText("Objętość = ");
pole2.setVisible(true);
pole3.setVisible(true);
break;
}
}
});
// dodanie przycisku
// nasłuchiwanie przycisku
klik.addActionListener(new ActionListener() {
private int WHITE;
public void actionPerformed(ActionEvent e) {
int nr_lista = Jlista.getSelectedIndex();
//
switch(nr_lista){
case 1://pierwsza figura
double pole_w1 =((1.414213 * Double.parseDouble(pole1.getText()) * Double.parseDouble(pole1.getText())*Double.parseDouble(pole1.getText()))/12);
wpole1.setText("Pole całkowite = " + pole_w1);
double pole_w1a =(1.442249 * Double.parseDouble(pole1.getText()) * Double.parseDouble(pole1.getText()));
wpole2.setText("Objętość = " + pole_w1a);
break;
case 2://druga figura
double pole_w2 =(2 * ((Double.parseDouble(pole1.getText()) * Double.parseDouble(pole2.getText()))) +(2* Double.parseDouble(pole2.getText()) * Double.parseDouble(pole3.getText()))) + (2 * Double.parseDouble(pole1.getText()) * Double.parseDouble(pole3.getText()));
wpole1.setText("Pole całkowite = "+ pole_w2);
double pole_w2a = (Double.parseDouble(pole1.getText()) * Double.parseDouble(pole2.getText()) * Double.parseDouble(pole3.getText()) );
wpole2.setText("Objętość = "+ pole_w2a);
break;
case 3://druga figura
double pole_w3 = (4*3.14*(Double.parseDouble(pole1.getText()) * Double.parseDouble(pole1.getText()) * Double.parseDouble(pole1.getText())));
wpole1.setText("Pole całkowite = "+ pole_w3 );
double pole_w3a = (1.333333*3.14*(Double.parseDouble(pole1.getText()) * Double.parseDouble(pole1.getText()) * Double.parseDouble(pole1.getText())));
wpole2.setText("Objętość = "+ pole_w3a );
break;
case 4:
double pole_w4 = (3.14 * Double.parseDouble(pole1.getText()) * (Double.parseDouble(pole1.getText()) + Double.parseDouble(pole3.getText())));
wpole1.setText("Pole calkowite = "+ pole_w4 );
double pole_w4a = (0.3333 * 3.14 * Double.parseDouble(pole1.getText()) * Double.parseDouble(pole1.getText()) * Double.parseDouble(pole3.getText()));
wpole2.setText("Objętość = "+ pole_w4a );
break;
}
}
});
panel.add(Jlista);
panel.add(tpole1);
panel.add(tpole2);
panel.add(tpole3);
panel.add(tpole4);
panel.add(pole1);
panel.add(pole2);
panel.add(pole3);
panel.add(wpole1);
panel.add(wpole2);
panel.add(klik);
okno.add(panel);
okno.setVisible(true);
}
}
}