Wybór opcji z combobox a wyświetlane informacje w oknie aplikacji

0

Witam,

mam mały problem z tematu otóż:
mam zrobione okno programu oraz Combobox z kilkoma opcjami do których stworzenia użyłem NetBeans w wersji 7.0
i tu napotkałem mały problem dodałem nazwy brył bo to ma aplikacja robić znaczy się liczyć pola i objętości brył geometrycznych tylko
potrzeba mi zrobić coś takiego że po uruchomieniu aplikacji jak w combobox nie ma nic wybranego okno jest puste a np po wybraniu z niego opcji czworościan widoczne są informacje :
Podaj długość boku a: a obok okienko w które można wpisać liczbę oraz przycisk oblicz a także informacje:
pole powierzchni całkowitej = tyle i tyle
objętość = tyle i tyle
resztę poprzerabiam juz sam wtedy tylko nie wiem jak zacząć
mimo przebicia się przez x tutoriali itp.

jakby ktoś miał tutka dobrego video albo tekstowego krok po kroku to byłbym bardzo wdzięczny

1

Witam.
Ja bym to ręcznie napisał, szybciej niż za pomocą tych formatek.
Tu link do wideo kursów : http://sdjournal.pl/kursy-video

Powodzenia

1

A tutaj masz coś na szybkiego napisałem dla przykładu.
Program ma za zadanie liczyć pola figur, wyniki wyrzuca na ekran.

 

package bryly_przyklad; // nazwa projektu utworzonego w NetBeans

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class Main {

    public static void main(String[] args) {
    oknoglowne oknopr = new oknoglowne();
    }

        private static class oknoglowne {
        String lista1 [] = {"","Prostokąt", "Trójkąt prostokątny", "Okrąg"};
        JComboBox Jlista;
        JTextField pole1, pole2, pole3;
        JLabel tpole1,tpole2,tpole3, wpole1, wpole2;


        public oknoglowne()
        {
            JFrame okno = new JFrame();
            okno.setSize(300, 300);
            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(0, 0, 200, 25);


//dodanie JLabel do opisywania tekstów
            tpole1 = new JLabel("Długość L=");
            tpole1.setBounds(0, 25, 100, 25);
            tpole2 = new JLabel("Szerokość B=");
            tpole2.setBounds(0, 50, 100, 25);
            tpole3 = new JLabel("Wysokość H=");
            tpole3.setBounds(0, 75, 100, 25);
//dodanie JLabel do opisywania tekstów
            wpole1 = new JLabel("Pole =");
            wpole1.setBounds(0, 100, 300, 25);
            wpole2 = new JLabel("Objętość =");
            wpole2.setBounds(0, 125, 300, 25);

//dodanie JTextFiled okienka do wprowadzania danych
            pole1 = new JTextField ("0.00");
            pole1.setBounds(105, 25, 100, 25);
            pole2 = new JTextField ("0.00");
            pole2.setBounds(105, 50, 100, 25);
            pole3 = new JTextField ("0.00");
            pole3.setBounds(105, 75, 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ę!!!");
                            break;
                        case 1://pierwsza figura
                            wpole1.setText("Pole = L x B =");
                            tpole1.setText("Długość L=");
                            break;
                        case 2://druga figura
                            wpole1.setText("Pole = 0.5 x L x B =");
                            tpole1.setText("Długość L=");
                            break;
                        case 3://druga figura
                            wpole1.setText("Pole = Pi x R^2 =");
                            tpole1.setText("Promień R=");
                            break;
                    }

                }
            });

// dodanie przycisku
            JButton klik = new JButton ("Obliczaj");
            klik.setBounds(0, 150, 200, 35);
// 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 =(Double.parseDouble(pole1.getText()) * Double.parseDouble(pole2.getText()));
                            wpole1.setText("Pole = L x B = " + pole_w1);
                            break;
                        case 2://druga figura
                            double pole_w2 =0.5 * (Double.parseDouble(pole1.getText()) * Double.parseDouble(pole2.getText()));
                            wpole1.setText("Pole =0.5 x L x B = "+ pole_w2);
                            break;
                        case 3://druga figura
                            double pole_w3 = 3.14*(Double.parseDouble(pole1.getText()) * Double.parseDouble(pole1.getText()));
                            wpole1.setText("Pole = Pi x R^2 = "+ pole_w3 );
                            break;
                    }
                }
            });



            panel.add(Jlista);
            panel.add(tpole1);
            panel.add(tpole2);
            panel.add(tpole3);
            panel.add(pole1);
            panel.add(pole2);
            panel.add(pole3);
            panel.add(wpole1);
            panel.add(wpole2);
            panel.add(klik);


            okno.add(panel);
            okno.setVisible(true);

        }

    }

}

Pozdrawiam

0

ok dzięki wielkie za tutki oraz kod tylko gdzie to wkleić teraz bo ja już siedze nad tym x godzin i mi myślenie zabrało po całości :/

Poza tym gośc który nas uczy tak to tłumaczy ze nie wiem juz co pisać nawet w ogóle czy go słuchać

ele z tego co tu mi napisałes wiem juz mniej wiecej jak to combobox zaprojektować :D

a wlaśnie zapomniałem ja pisze Desktop aplication

0

Na gogle coś jest na ten temat.

Może to coś pomoże.

0

Widziałem widziałem całkiem dobre to jest spr najpierw z tym kodem co mi wysłałes

ok odpalilem to jak należy w końcu spokojnie :D mistrzu mistrzu mistrzu :D
normalnie pokłony Ci bić

teraz tylko musze wykombinwac jak to na window aplication przenieść sobie alr to nie powinno byc trudne

a jeszcze taka sprawa jak zrobić np aby po wybraniu z combobox kwadratu nie wyświetlao innych okien a tylko jedno gdzie mozna wpisac dane ??

0

Użyj funkcji setVisible(boolean), która ukrywa/pokazuje pola, ramki,... np:

case 1://pierwsza figura
         wpole1.setText("Pole = L x B =");
         tpole1.setText("Długość L=");
         tpole3.setVisible(false);
         pole3.setVisible(false);
         break;
0

oto właśnie mi chodziło a jak to teraz przenieśc na window aplication bo lepiej tworzy się menu itp w netbeans ale przeniesienie tam tego jest znacznie trudniejsze

a jak dodać obsługe wyjątku odnośnie wpisanego zera i mniejesze od zera w jakiekolwiek okno jfield ??

0

możesz to zrobić za pomocą if(), np:

if(Integer.parseInt(JTextField.getText()) > 0)
{
   int r = Integer.parseInt(JTextField.getText());
}
else
{
   System.out.println("Podana wartość jest mniejsza od zera");
}

Dodaj też obsługę wyjątku jeżeli zamiast liczby wprowadzi się literę, np:

try{}
catch (NumberFormatException e){
   System.out.println("Podana wartość nie jest liczbą");
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1