Obsluga zdarzen a GUI

0

Witam

Mam problem z obsługa zdarzeń.
Chcę powiązać pola textowe z polami w programie( ilość maki, tłuszczu i cukru)
JButtona z startem procesu i wynik w 4 JTextField.

Może ktoś mi wyjaśnić to w jakiś prosty sposób na przykładzie? Może być własny a może być na mojej aplikacji.

TYLKO nie odsyłajcie mnie na strony java.toutrials... itp. bo nie raz je przestudiowałem
Sorry za długi post..
Pozdrawiam wszystkich co się chce to czytać..i jeszcze pomóc



Import java.awt.BorderLayout;
import java.awt.Graphics;

import java.awt.Container;

import java.awt.FlowLayout;

import java.awt.GridLayout;

import java.awt.Image;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class Aplikacja extends JFrame{

        public Aplikacja(){

                super ("Produkcja");

                JPanel p = new JPanel();

                p.setLayout(new GridLayout(5,2));
                p.add( new JLabel ("ilość mąki w silosie"));
                p.add(new JTextField("wyrażona w dag"));
                p.add( new JLabel ("ilość tłuszczy w silosie"));
                p.add(new JTextField("wyrażona w dag"));
                p.add( new JLabel ("ilość cukru w silosie"));
                p.add(new JTextField("wyrażona w dag"));
                p.add( new JLabel ("wyprodukowano:"));
                p.add(new JTextField(""));
                p.add(new JButton("produkuj ciastka"));
                                        String filename = "Silos";
                try {
                        Image image = ImageIO.read(new File("Silos.gif"));
                } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
                setSize (500,500 );
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                setVisible(true);
                Container cp = getContentPane();
                cp.add(p);
        }
                        public static void main(String[] args){
                new Aplikacja();
        }}

import java.util.Calendar;
import java.util.Locale;
 
import javax.swing.JOptionPane;
 
 
 
public class SilosTest extends DefLok{
public static void main(String[]args)
{
Silos[]staff = new Silos[3];
staff[0] = new Silos ("SilosA", 100.12, 50.19, 20);
report();
Locale.setDefault(new Locale(JOptionPane.showInputDialog("Podaj język")));
report();
}
}
class Silos
{
public Silos (String n, double x,double y,double z)
{
n= name;
x= ilosc_maki;
y= ilosc_tluszczy;
z= ilość_cukru;
x=y=z=100;
//obliczanie ilosci ciastek którą można wyprodukować z danej ilości maki cukru tłuszczy
double xc = 5.1; //ciastko_ilosc_maki;
double xy = 3.0; //ciastko_ilosc_tluszczy;
double xz =2.2; //ciastko_ilość_cukru;
 int cxc= (int)(x/xc);//rzutow - ciastka które można wyprodukować z dostępnej ilości maki
 int cxy= (int)(y/xy);//rzutow - ciastka które można wyprodukować z dostępnej ilości tluszczy
 int cxz= (int)(z/xz);//rzutow - ciastka które można wyprodukować z dostępnej ilości cukru
int c = Math.min(Math.min(cxc, cxy),cxz); //minimum z 3 wartosci = liczbie ciastek które mozna wyprodukować
 
System.out.println("Mozna wyprodukować : "+c );
Calendar cal = Calendar.getInstance();
System.out.println(cal.get(Calendar.HOUR_OF_DAY)+":"+cal.get(Calendar.MINUTE)+":"+cal.get(Calendar.SECOND));
 }
 
public String getName()
{
return name;
}
private String name;
private double ilosc_maki;
private double ilosc_tluszczy;
private double ilość_cukru;
}
 

import java.text.*;
import java.util.*;
 
import javax.swing.JOptionPane;
 
public class DefLok {
 
  static public void report() {
    Locale defLoc = Locale.getDefault();
    System.out.println("Domyślna lokalizacja : " + defLoc);
    DateFormat df = DateFormat.getDateInstance(DateFormat.LONG);
    NumberFormat nf = NumberFormat.getInstance();
    System.out.println(df.format(new Date()));
    System.out.println(nf.format(1234567.1));
  }
 
  public static void main(String[] args) {
    report();
    Locale.setDefault(new Locale(JOptionPane.showInputDialog("Podaj język")));
    report();
  }
 
 
}
0

W konstruktorze daj:

button.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
          //akcja do wykonania po kliknieciu buttona
        }
      });

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