All pastes #55148 Raw Edit

mega-uzhos

public java v1 · immutable
#55148 ·published 2006-05-11 17:37 UTC
rendered paste body
import java.awt.*;public class FibArray {    public static void main(String args[]) {        new MenuFib("MenuFib").menu();    }}class MenuFib extends Frame {    public MenuFib(String title) {        super(title);    }        public void menu() {        MenuBar menuBar = new MenuBar();        Menu data = new Menu("Data");        menuBar.add(data);        data.add(new MenuItem("Input data..."));        data.add(new MenuItem("-"));        data.add(new MenuItem("Exit..."));        setMenuBar(menuBar);        setSize(150,150);        show();    }        public boolean action(Event evt, Object arg) {        if (evt.target instanceof MenuItem) {            if (arg.equals("Input data..."))                new DialogFib(this, "Input Data", true).dialog();            else if (arg.equals("Exit...")) {                System.exit(0);                return true;            }        }                return super.action(evt, arg);    }        public boolean handleEvent(Event evt) {        if (evt.id == Event.WINDOW_DESTROY) {            dispose();            return true;        }                return super.handleEvent(evt);    }}class DialogFib extends Dialog {    int nf;    static String temp;    TextField tf;        public DialogFib(Frame parent, String title, boolean isModal) {        super(parent, title, isModal);    }        public void dialog() {        int m = 3;        setLayout(new GridLayout(2, 1));        Panel panel = new Panel();        panel.add(new Label("Number fib"));        tf = new TextField(m);        tf.setText(temp);        panel.add(tf);        add(panel);                Panel okPanel = new Panel();        okPanel.add(new Button("OK"));        add(okPanel);        pack();        show();    }        public boolean action(Event evt, Object arg) {        if (evt.target instanceof Button) {            temp = tf.getText();            nf = new Integer(temp).intValue();            hide();            if (nf > 92) {                temp = "";                new Corr("Corr number fib").corr();            }            else {                new Fib(nf).fibo();                return true;            }                        }                return super.action(evt, arg);    }    public boolean handleEvent(Event evt) {        if (evt.id == Event.WINDOW_DESTROY) {            dispose();            return true;        }                return super.handleEvent(evt);    }}class Corr extends Frame {    public Corr(String title) {        super(title);    }        public void corr() {        Label label = new Label("Number fib < 93");        add(label);        pack();        show();        move(300,0);        new DialogFib(this, "Input Data", true).dialog();    }    public boolean handleEvent(Event evt) {        if (evt.id == Event.WINDOW_DESTROY) {            dispose();            return true;        }                return super.handleEvent(evt);    }}class Fib {    int nf;    long fib[] = new long[100];    String fibs[] = new String[100];        Fib(int nf) {        this.nf = nf;    }        public void fibo() {        fib[0] = fib[1] = 1;        for (int i = 0; i < nf; i++) {            fib[i+2] = fib[i] + fib[i+1];            fibs[i] = "" + fib[i];        }                new TableFib(fibs, nf).table();    }}class TableFib extends Frame {    String fibs[] = new String[100];    int nf;    TextArea tt;        public TableFib(String title) {        super(title);    }        public TableFib(String fibs[], int nf) {        this("Fibonacci table");        this.nf = nf;        for (int i = 0; i < nf; i++)            this.fibs[i] = fibs[i];    }        public void table() {        String str, Zagstr = "Number"+" Fibonacci"+"\n";        tt = new TextArea(Zagstr, 92, 30);        add(tt);        for (int i = 0; i < nf; i++) {            if (i < 9)                str = "0" + (i+1) + " " + fibs[i] + "\n";            else                str = (i+1) + " " + fibs[i] + "\n";            tt.append(str);        }        pack();        move(300,0);        show();    }    public boolean handleEvent(Event evt) {        if (evt.id == Event.WINDOW_DESTROY) {            dispose();            return true;        }                return super.handleEvent(evt);    }}