JFrame - czytanie wartości + wykonywanie obliczeń

0

Chciałbym zrobić aplikację, która będzie służyła jako kalkulator do rozwiązywania układu równań z 3 niewiadomymi oraz obliczenie funkcji kwadratowej.
Korzystam z NetBeans 7.4 i w prosty sposób stworzyłem okna, które zawierają potrzebne pola do wpisywania wartości oraz guziki do obsługi zdarzeń.
Zaznaczam, że część "logiczną" programu pisałem osobno i wszystko działa jak należy. Chciałbym jednak przenieść teraz to wszystko do okienek, które stworzyłem przez interfejs JFrame.

Kod części "logicznej" programu

package uklad;

import java.io.IOException;
import java.util.Scanner;

public class Uklad {

    /**
     * @param args the command line arguments
     * @throws java.io.IOException
     */
    public static void main(String[] args) throws IOException {
        System.out.println("Kalkulator rozwiązywania układów równań (do 3 niewiadomych)\noraz fukcji kwadratowych.\n");
        
        char choice;
        
        for ( ; ;) {
            do {
                System.out.println("Wybierz co chcesz obliczyć.\n 1. Układ równań.\n 2. Fukcja kwadratowa");
            do {
                choice = (char) System.in.read();
            }   while (choice == 'n' | choice == '\r');
           }   while (choice < '1' | choice > '2');
        if (choice == 'w') break;
        
        switch (choice) {
            
            case '1':
                Scanner in = new Scanner(System.in);       
        
                double a1, b1, c1, d1, a2, b2, c2, d2, a3, b3, c3, d3;
                
                System.out.println("Postać układu:\n");
                System.out.println("a1*x + b1*y + c1*z = d1");
                System.out.println("a2*x + b2*y + c2*z = d2");
                System.out.println("a3*x + b3*y + c3*z = d3 \n");
                System.out.println("Podaj a1, b1, c1, d1, a2, b2, c2, d2, a3, b3, c3, d3.");
 
                System.out.print("a1: "); a1 = in.nextDouble();
                System.out.print("b1: "); b1 = in.nextDouble();
                System.out.print("c1: "); c1 = in.nextDouble();
                System.out.print("d1: "); d1 = in.nextDouble();
                System.out.print("a2: "); a2 = in.nextDouble();
                System.out.print("b2: "); b2 = in.nextDouble();
                System.out.print("c2: "); c2 = in.nextDouble();
                System.out.print("d2: "); d2 = in.nextDouble();
                System.out.print("a3: "); a3 = in.nextDouble();
                System.out.print("b3: "); b3 = in.nextDouble();
                System.out.print("c3: "); c3 = in.nextDouble();
                System.out.print("d3: "); d3 = in.nextDouble();
                           
                System.out.println("Podany układ równań: ");
                System.out.println(a1 + "x + " + b1 + "y + " + c1 + "z" + " = " + d1);
                System.out.println(a2 + "x + " + b2 + "y + " + c2 + "z" + " = " + d2);
                System.out.println(a3 + "x + " + b3 + "y + " + c3 + "z" + " = " + d3);
 
                // Rozwiązanie za pomocą metody wyznaczników:
                double w =  a1*b2*c3 + a2*b3*c1 + a3*b1*c2 - a3*b2*c1 - a2*b1*c3 - a1*b3*c2;
                double wx = d1*b2*c3 + d2*b3*c1 + d3*b1*c2 - d3*b2*c1 - d2*b1*c3 - d1*b3*c2;
                double wy = a1*d2*c3 + a2*d3*c1 + a3*d1*c2 - a3*d2*c1 - a2*d1*c3 - a1*d3*c2;
                double wz = a1*b2*d3 + a2*b3*d1 + a3*b1*d2 - a3*b2*d1 - a1*b3*d2 - a2*b1*d3;
 
                if (w != 0) {
                        System.out.println("Układ równań jest oznaczony.");
                        System.out.println("x = " + (wx / w));
                        System.out.println("y = " + (wy / w));
                        System.out.println("z = " + (wz / w));
                } else if (wx != 0 || wy != 0 || wz != 0)
                        System.out.println("Układ równań jest sprzeczny. Brak rozwiązań.");
                else
                        System.out.println("Układ równań jest nieoznaczony. Istnieje nieskończenie wiele rozwiązań.");
                break;
                
            case '2':
                System.out.println("Funckja kwadratowa ma postać:\n"
                        + "Ax^2 + By + C\n"
                        + "Wprowadź wartości dla poszczególnych wyznaczników (kolejno: A, B, C).");
                
                Scanner in1 = new Scanner(System.in);
                
                double a, b, c, delta, sqrtdelta, pierwiastek0, pierwiastek1, pierwiastek2, wykres;
                
                System.out.print("A: ");
                a = in1.nextDouble();
                
                System.out.print("B: ");
                b = in1.nextDouble();
                
                System.out.print("C: ");
                c = in1.nextDouble();
                
                System.out.println("Twoja funkcja ma postać:\n"
                        + a + "x^2 + " + b + "y + " + c);
                delta = (b*b-4*a*c);
                sqrtdelta = Math.sqrt(delta);
                
                if (delta > 0) {
                    pierwiastek1 = ((- b - sqrtdelta)/2*a);
                    pierwiastek2 = ((- b + sqrtdelta)/2*a);
                System.out.println("\n" + "Delta wynosi: " + delta + "\n" + "Pierwiastek z delty wynosi: "
                        + sqrtdelta + "\n" + "Miejsca zerowe: x1 = " + pierwiastek1 + " x2 = " + pierwiastek2 + ".\n");
                }
                else if (delta == 0) {
                    pierwiastek0 = (-b/(2*a));
                System.out.println("\n Delta wynosi " + delta + "\n Miejsce zerowe: x0 = " + pierwiastek0 + ".\n");
                }
                else {
                System.out.println("Delta jest ujemna. Funkcja nie ma miejsc zerowych.");
                
                break;
}
}
}
}
}

Kod do "okienka"

package kalkulator.zaliczenie;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Scanner;

/**
 *
 * @author Kupa
 */
public class Kalkulator_uklad extends javax.swing.JFrame implements ActionListener {
    private Readable Kalkulator_uklad;

    public Kalkulator_uklad() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jScrollPane4 = new javax.swing.JScrollPane();
        jTextArea4 = new javax.swing.JTextArea();
        txt_a1 = new javax.swing.JTextField();
        txt_b1 = new javax.swing.JTextField();
        txt_c1 = new javax.swing.JTextField();
        txt_d1 = new javax.swing.JTextField();
        txt_a2 = new javax.swing.JTextField();
        txt_b2 = new javax.swing.JTextField();
        txt_c2 = new javax.swing.JTextField();
        txt_d2 = new javax.swing.JTextField();
        txt_a3 = new javax.swing.JTextField();
        txt_b3 = new javax.swing.JTextField();
        txt_c3 = new javax.swing.JTextField();
        txt_d3 = new javax.swing.JTextField();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        jLabel9 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        jLabel12 = new javax.swing.JLabel();
        jLabel13 = new javax.swing.JLabel();
        jLabel14 = new javax.swing.JLabel();
        g_oblicz = new javax.swing.JButton();
        g_wyczysc = new javax.swing.JButton();
        g_powrot = new javax.swing.JButton();
        x_wynik = new javax.swing.JTextField();
        y_wynik = new javax.swing.JTextField();
        z_wynik = new javax.swing.JTextField();

        jScrollPane4.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
        jScrollPane4.setHorizontalScrollBar(null);
        jScrollPane4.setWheelScrollingEnabled(false);

        jTextArea4.setColumns(20);
        jTextArea4.setRows(5);
        jScrollPane4.setViewportView(jTextArea4);

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        txt_a1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txt_a1.setText("a1");
        txt_a1.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
        txt_a1.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));
        txt_a1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txt_a1ActionPerformed(evt);
            }
        });

        txt_b1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txt_b1.setText("b1");
        txt_b1.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
        txt_b1.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));
        txt_b1.setName(""); // NOI18N
        txt_b1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txt_b1ActionPerformed(evt);
            }
        });

        txt_c1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txt_c1.setText("c1");
        txt_c1.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
        txt_c1.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));
        txt_c1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txt_c1ActionPerformed(evt);
            }
        });

        txt_d1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txt_d1.setText("d1");
        txt_d1.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
        txt_d1.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));
        txt_d1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txt_d1ActionPerformed(evt);
            }
        });

        txt_a2.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txt_a2.setText("a2");
        txt_a2.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
        txt_a2.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));
        txt_a2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txt_a2ActionPerformed(evt);
            }
        });

        txt_b2.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txt_b2.setText("b2");
        txt_b2.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
        txt_b2.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));
        txt_b2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txt_b2ActionPerformed(evt);
            }
        });

        txt_c2.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txt_c2.setText("c2");
        txt_c2.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
        txt_c2.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));
        txt_c2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txt_c2ActionPerformed(evt);
            }
        });

        txt_d2.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txt_d2.setText("d2");
        txt_d2.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
        txt_d2.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));
        txt_d2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txt_d2ActionPerformed(evt);
            }
        });

        txt_a3.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txt_a3.setText("a3");
        txt_a3.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
        txt_a3.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));
        txt_a3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txt_a3ActionPerformed(evt);
            }
        });

        txt_b3.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txt_b3.setText("b3");
        txt_b3.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
        txt_b3.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));
        txt_b3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txt_b3ActionPerformed(evt);
            }
        });

        txt_c3.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txt_c3.setText("c3");
        txt_c3.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
        txt_c3.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));
        txt_c3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txt_c3ActionPerformed(evt);
            }
        });

        txt_d3.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txt_d3.setText("d3");
        txt_d3.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
        txt_d3.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));
        txt_d3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txt_d3ActionPerformed(evt);
            }
        });

        jLabel1.setText("+");

        jLabel2.setText("+");

        jLabel3.setText("=");

        jLabel4.setText("+");

        jLabel5.setText("+");

        jLabel6.setText("=");

        jLabel7.setText("+");

        jLabel8.setText("+");

        jLabel9.setText("=");

        jLabel10.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
        jLabel10.setText("Układ równań");

        jLabel11.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
        jLabel11.setText("Rozwiązanie");

        jLabel12.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N
        jLabel12.setText("x =");
        jLabel12.setBorder(javax.swing.BorderFactory.createTitledBorder(""));

        jLabel13.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N
        jLabel13.setText("y =");
        jLabel13.setBorder(javax.swing.BorderFactory.createTitledBorder(""));

        jLabel14.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N
        jLabel14.setText("z =");
        jLabel14.setBorder(javax.swing.BorderFactory.createTitledBorder(""));

        g_oblicz.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N
        g_oblicz.setText("Oblicz");
        g_oblicz.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                g_obliczActionPerformed(evt);
            }
        });

        g_wyczysc.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N
        g_wyczysc.setText("Wyczyść");

        g_powrot.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N
        g_powrot.setText("Powrót");
        g_powrot.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                g_powrotActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(46, 46, 46)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addComponent(jLabel14, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jLabel13, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 28, Short.MAX_VALUE)
                            .addComponent(jLabel12, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addGap(171, 171, 171)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(g_wyczysc, javax.swing.GroupLayout.DEFAULT_SIZE, 90, Short.MAX_VALUE)
                                    .addComponent(g_powrot, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                            .addGroup(layout.createSequentialGroup()
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(z_wynik, javax.swing.GroupLayout.DEFAULT_SIZE, 89, Short.MAX_VALUE)
                                    .addComponent(y_wynik))
                                .addGap(0, 0, Short.MAX_VALUE))))
                    .addComponent(jLabel10, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(115, 115, 115))
                            .addGroup(layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(layout.createSequentialGroup()
                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(txt_a3)
                                            .addComponent(txt_a2)
                                            .addGroup(layout.createSequentialGroup()
                                                .addComponent(txt_a1, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                .addGap(0, 0, Short.MAX_VALUE)))
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(jLabel4)
                                            .addComponent(jLabel1)
                                            .addComponent(jLabel7))
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(txt_b3)
                                            .addComponent(txt_b2)
                                            .addGroup(layout.createSequentialGroup()
                                                .addComponent(txt_b1, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                .addGap(0, 0, Short.MAX_VALUE))))
                                    .addGroup(layout.createSequentialGroup()
                                        .addGap(0, 0, Short.MAX_VALUE)
                                        .addComponent(x_wynik, javax.swing.GroupLayout.PREFERRED_SIZE, 88, javax.swing.GroupLayout.PREFERRED_SIZE)))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(jLabel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(jLabel8, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(txt_c2)
                                    .addComponent(txt_c3)
                                    .addGroup(layout.createSequentialGroup()
                                        .addComponent(txt_c1, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(0, 0, Short.MAX_VALUE)))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(g_oblicz, javax.swing.GroupLayout.DEFAULT_SIZE, 90, Short.MAX_VALUE)
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabel3, javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(jLabel6, javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(jLabel9, javax.swing.GroupLayout.Alignment.TRAILING))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(txt_d1, javax.swing.GroupLayout.DEFAULT_SIZE, 78, Short.MAX_VALUE)
                                    .addComponent(txt_d2)
                                    .addComponent(txt_d3))))))
                .addGap(303, 303, 303))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(18, 18, 18)
                .addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txt_a1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txt_b1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txt_c1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txt_d1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel1)
                    .addComponent(jLabel2)
                    .addComponent(jLabel3))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txt_a2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel4)
                    .addComponent(jLabel5)
                    .addComponent(jLabel6)
                    .addComponent(txt_b2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txt_c2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txt_d2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txt_a3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel7)
                    .addComponent(jLabel8)
                    .addComponent(jLabel9)
                    .addComponent(txt_b3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txt_c3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txt_d3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 43, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(g_oblicz))
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(21, 21, 21)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel12)
                            .addComponent(x_wynik, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(g_wyczysc)
                        .addGap(3, 3, 3)))
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel13)
                            .addComponent(y_wynik, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(11, 11, 11)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel14)
                            .addComponent(z_wynik, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addComponent(g_powrot))
                .addGap(40, 40, 40))
        );

        pack();
    }// </editor-fold>                        

    private void txt_b1ActionPerformed(java.awt.event.ActionEvent evt) {                                       
        String input = txt_b1.getText();
        input = input.trim();
    }                                      

    private void txt_a1ActionPerformed(java.awt.event.ActionEvent evt) {                                       
        String input = txt_a1.getText();
        input = input.trim();
    }                                      

    private void g_powrotActionPerformed(java.awt.event.ActionEvent evt) {                                         
        Kalkulator_Zaliczenie g_powrot = new Kalkulator_Zaliczenie();
        g_powrot.setVisible(true);
    }                                        

    private void txt_c1ActionPerformed(java.awt.event.ActionEvent evt) {                                       
        String input = txt_c1.getText();
        input = input.trim();
    }                                      

    private void txt_d1ActionPerformed(java.awt.event.ActionEvent evt) {                                       
        String input = txt_d1.getText();
        input = input.trim();
    }                                      

    private void txt_a2ActionPerformed(java.awt.event.ActionEvent evt) {                                       
        String input = txt_a2.getText();
        input = input.trim();
    }                                      

    private void txt_b2ActionPerformed(java.awt.event.ActionEvent evt) {                                       
        String input = txt_b2.getText();
        input = input.trim();
    }                                      

    private void txt_c2ActionPerformed(java.awt.event.ActionEvent evt) {                                       
        String input = txt_c2.getText();
        input = input.trim();
    }                                      

    private void txt_d2ActionPerformed(java.awt.event.ActionEvent evt) {                                       
        String input = txt_d2.getText();
        input = input.trim();
    }                                      

    private void txt_a3ActionPerformed(java.awt.event.ActionEvent evt) {                                       
        String input = txt_a3.getText();
        input = input.trim();
    }                                      

    private void txt_b3ActionPerformed(java.awt.event.ActionEvent evt) {                                       
        String input = txt_b3.getText();
        input = input.trim();
    }                                      

    private void txt_c3ActionPerformed(java.awt.event.ActionEvent evt) {                                       
        String input = txt_c3.getText();
        input = input.trim();
    }                                      

    private void txt_d3ActionPerformed(java.awt.event.ActionEvent evt) {                                       
        String input = txt_d3.getText();
        input = input.trim();   
    }                                      

    private void g_obliczActionPerformed(java.awt.event.ActionEvent evt) {                                         
        
        g_oblicz.addActionListener(this);
                
        Scanner in = new Scanner(Kalkulator_uklad);       
        int a1 = 0, b1 = 0, c1 = 0, d1 = 0, a2 = 0, b2 = 0, 
               c2 = 0, d2 = 0, a3 = 0, b3 = 0, c3 = 0, d3 = 0;
        int x_wynik;
        int y_wynik;
        int z_wynik;
        int w  = a1*b2*c3 + a2*b3*c1 + a3*b1*c2 - a3*b2*c1 - a2*b1*c3 - a1*b3*c2;
        int wx = d1*b2*c3 + d2*b3*c1 + d3*b1*c2 - d3*b2*c1 - d2*b1*c3 - d1*b3*c2;
        int wy = a1*d2*c3 + a2*d3*c1 + a3*d1*c2 - a3*d2*c1 - a2*d1*c3 - a1*d3*c2;
        int wz = a1*b2*d3 + a2*b3*d1 + a3*b1*d2 - a3*b2*d1 - a1*b3*d2 - a2*b1*d3;
        
        if (w!=0) {
            x_wynik = wx/w;
            y_wynik = wy/w;
            z_wynik = wz/w;
    }                                        

    /**
     * @param args the command line arguments
     */
//    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Kalkulator_uklad.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Kalkulator_uklad.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Kalkulator_uklad.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Kalkulator_uklad.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Kalkulator_uklad().setVisible(true);
            }
        });
    }

Problem polega na tym, że nie bardzo mogę poradzić sobie z tym, żeby po kliknięciu guzika "Oblicz" wykonywały się wszystkie operacje i w podanych polach pojawiał się wynik (w tym przypadku obliczenie wartości x,y,z).

Chyba powinienem skorzystać w którymś miejscu z ActionListener, ale nie wiem dokładnie gdzie.
Proszę o pomoc!

0

Jeżeli logikę masz w osobnej klasie to robisz tak: Dodajesz do przycisku oblicz ActionListenera (klasę, która implementuje ten interfejs). W actionPerformed() sprawdzasz czy źródłem zdarzenia jest przycisk 'oblicz', jeżeli tak, to wykonujesz odpowiednie operacje - tj pobierasz dane z okienek i wywołujesz odpowiednie funkcje z klasy odpowiedzialnej za logikę.

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