/* Java: Berechnen mit Komponenten Me, 29.01.01, Programmbeispiel mit TextField und Button, Methode actionPerformed()*/ package SteuerElem02; import java.awt.*; import java.awt.event.*; public class j02ButTFCalc extends Frame implements ActionListener { Button But1, But2, But3; String melde="Leere meldung, noch kein Button angeklickt"; TextField TF1=new TextField("Zahl1", 6); TextField TF2=new TextField("Zahl2", 5); TextField TF3=new TextField("Ergebnis", 23); // public j02ButTFCalc() { super("Berechnen mit Buttons, "+new java.util.Date().toLocaleString()); setBackground(Color.cyan); setBounds(150, 80, 600,300); setFont(new Font("Verdana", Font.BOLD,14)); But1=new Button(" Berechnen TF1*TF2 "); But2=new Button ("Kaffeepause"); But3=new Button("Programm beenden"); add(new TextField("Zahlen zur Multiplikation eingeben",35)); add(TF1) ;add(TF2); ;add(But1); add(TF3); TF3.setEnabled(false); // TF3.setEditable(false); setLayout(new FlowLayout()); add(But2); add(But3); But1.addActionListener(this); But2.addActionListener(this); But3.addActionListener(this); addKeyListener(new mKL()); addWindowListener(new mWL()); setVisible(true); }//konstruktor public void paint(Graphics gr) { gr.drawString(melde, 20,170); gr.drawString("Ende des Fensters: "+getWidth()+" "+getHeight(), getWidth()/3, getHeight()-20); }//paint public void actionPerformed(ActionEvent evi) { if(evi.getSource()== But1) {melde="Sie haben But1 angeklickt, das reicht"; But1.setEnabled(false); String st1=TF1.getText(); String st2=TF2.getText(); try { //Umwandeln in double double d1= new Double(st1).doubleValue(); // double d2= new Double(st2).doubleValue(); //oder Double dB2=new Double(st2); double d2=dB2.doubleValue(); double ergebnis=d1*d2; //double als Zeichenkette in Textfeld ausgeben TF3.setText("Multiplikation= "+new Double(ergebnis).toString()); }//try catch (NumberFormatException ne) {TF3.setText("Nur zahlen eingeben, nix "+ne.getMessage()); }//catch }//es war but1 if(evi.getSource()== But2) { melde="Mit Button 2 bestellen Sie 3 Tonnen Kaffee?"; setBackground(Color.orange); But1.setEnabled(true);} if(evi.getSource()== But3) { PrgEnd();} repaint(); }//action private void PrgEnd() { setVisible(false); dispose(); System.exit(0); } public static void main(String[]param) { j02ButTFCalc stb1=new j02ButTFCalc(); }//main //** innere Klasse definieren ******** class mKL extends KeyAdapter { public void keyPressed(KeyEvent evi) { if(evi.getKeyCode()==KeyEvent.VK_ESCAPE) { setVisible(false); dispose(); System.exit(0); } }// }//class innen //innere Klasse beantwortet Fenster schließen class mWL extends WindowAdapter { public void windowClosing(WindowEvent evi) { setVisible(false); dispose(); System.exit(0); }//winclose }// class mWl Ende }//Hauptklasse Ende