tom-f Δημοσ. 29 Νοεμβρίου 2005 Δημοσ. 29 Νοεμβρίου 2005 Μήπως έχει κανένας πρόχειρο τον κώδικα κατασκευής calculator σε java. Κυρίως θέλω να μάθω για την αντιστοίχιση κουμπιών σε text area.
tom-f Δημοσ. 29 Νοεμβρίου 2005 Μέλος Δημοσ. 29 Νοεμβρίου 2005 Έψαξα αλλά βρήκα μόνο με applet και ήταν και λίγο σύνθετα για αυτά που ξέρω. Δεν νομίζω οτι χρειάζεται να γινονται υποδείξεις για search μέσω google εννοείται οτι πριν ποστάρεις για κάτι που ζητάς έχεις ψάξει και δεν έμεινες ικανοποιημένος.
Dionisos Δημοσ. 29 Νοεμβρίου 2005 Δημοσ. 29 Νοεμβρίου 2005 De mas to aneferes omws sto arxiko sou post. 8a mporousan ta 2 post na htan 1 Epishs 8a mporouses na mas analyseis die3odikotera to provlhma, ka8ws den katalavain ti ennoeis me thn frash "antistoixish koumpiwn se text area".
silverthan Δημοσ. 29 Νοεμβρίου 2005 Δημοσ. 29 Νοεμβρίου 2005 > import java.awt.*; import java.lang.*; import java.applet.Applet; //=================== // Calculator Applet //=================== public class Calc extends java.applet.Applet { //-------- // member //-------- TextField text; String sText1, sText2; double dReg1, dReg2, dMem; String sOperator; boolean isFixReg; //------------- // constructor //------------- public Calc() { Panel pFrame = new Panel(); pFrame.setLayout(new FlowLayout()); text = new TextField(""); text.setForeground(Color.yellow); text.setEditable(false); Panel pCalc = new Panel(); pCalc.setLayout(new BorderLayout(0, 10)); pCalc.add("North", text); pFrame.add("Center", pCalc); Dimension dSize= pCalc.size(); dSize.width = dSize.width + 20; dSize.height = dSize.height + 20; pFrame.resize(dSize); Panel pKey = new Panel(); pKey.setLayout(new GridLayout(5, 4, 5, 5)); add("Center", pKey); pKey.add(new Button("C")); pKey.add(new Button("MR")); pKey.add(new Button("M-")); pKey.add(new Button("M+")); pKey.add(new Button("7")); pKey.add(new Button("8")); pKey.add(new Button("9")); pKey.add(new Button("/")); pKey.add(new Button("4")); pKey.add(new Button("5")); pKey.add(new Button("6")); pKey.add(new Button("*")); pKey.add(new Button("1")); pKey.add(new Button("2")); pKey.add(new Button("3")); pKey.add(new Button("-")); pKey.add(new Button("0")); pKey.add(new Button(".")); pKey.add(new Button("=")); pKey.add(new Button("+")); pCalc.add("South", pKey); setLayout(new BorderLayout(0, 0)); add("North", pFrame); setBackground(Color.darkGray); dReg1 = 0.0d; dReg2 = 0.0d; dMem = 0.0d; sOperator = ""; text.setText("0"); isFixReg = true; } //--------------- // event handler //--------------- public boolean action(Event evt, Object arg) { // // numeric key input // if ("C".equals(arg)) { dReg1 = 0.0d; dReg2 = 0.0d; sOperator = ""; text.setText("0"); isFixReg = true; } else if (("0".equals(arg)) | ("1".equals(arg)) | ("2".equals(arg)) | ("3".equals(arg)) | ("4".equals(arg)) | ("5".equals(arg)) | ("6".equals(arg)) | ("7".equals(arg)) | ("8".equals(arg)) | ("9".equals(arg)) | (".".equals(arg))) { if (isFixReg) sText2 = (String) arg; else sText2 = text.getText() + arg; text.setText(sText2); isFixReg = false; } // // operations // else if (("+".equals(arg)) | ("-".equals(arg)) | ("*".equals(arg)) | ("/".equals(arg)) | ("=".equals(arg))) { sText1 = text.getText(); dReg2 = (Double.valueOf(sText1)).doubleValue(); dReg1 = Calculation(sOperator, dReg1, dReg2); Double dTemp = new Double(dReg1); sText2 = dTemp.toString(); text.setText(sText2); sOperator = (String) arg; isFixReg = true; } // // memory read operation // else if ("MR".equals(arg)) { Double dTemp = new Double(dMem); sText2 = dTemp.toString(); text.setText(sText2); sOperator = ""; isFixReg = true; } // // memory add operation // else if ("M+".equals(arg)) { sText1 = text.getText(); dReg2 = (Double.valueOf(sText1)).doubleValue(); dReg1 = Calculation(sOperator, dReg1, dReg2); Double dTemp = new Double(dReg1); sText2 = dTemp.toString(); text.setText(sText2); dMem = dMem + dReg1; sOperator = ""; isFixReg = true; } // // memory sub operation // else if ("M-".equals(arg)) { sText1 = text.getText(); dReg2 = (Double.valueOf(sText1)).doubleValue(); dReg1 = Calculation(sOperator, dReg1, dReg2); Double dTemp = new Double(dReg1); sText2 = dTemp.toString(); text.setText(sText2); dMem = dMem - dReg1; sOperator = ""; isFixReg = true; } return true; } //------------- // Calculation //------------- private double Calculation(String sOperator, double dReg1, double dReg2) { if ("+".equals(sOperator)) dReg1 = dReg1 + dReg2; else if ("-".equals(sOperator)) dReg1 = dReg1 - dReg2; else if ("*".equals(sOperator)) dReg1 = dReg1 * dReg2; else if ("/".equals(sOperator)) dReg1 = dReg1 / dReg2; else dReg1 = dReg2; return dReg1; } } :wink:
tom-f Δημοσ. 29 Νοεμβρίου 2005 Μέλος Δημοσ. 29 Νοεμβρίου 2005 De mas to aneferes omws sto arxiko sou post. 8a mporousan ta 2 post na htan 1 Epishs 8a mporouses na mas analyseis die3odikotera to provlhma, ka8ws den katalavain ti ennoeis me thn frash "antistoixish koumpiwn se text area". Νομίζω ότι είμουν σαφής ήθελα να δώ κώδικα απο calculator και αυτό ζήτησα. Δεν χρειαζόταν να αναλύσω το τι ενέργειες έκανα πριν και πια προβλήματα αντιμετώπισα.Anyway ευχαριστώ για την βοήθεια...
Foulia Δημοσ. 7 Απριλίου 2013 Δημοσ. 7 Απριλίου 2013 Αυτό τι κάνει βρε παιδιά BorderLayout(0, 10)??? Εγώ ξέρω ότι το BorderLayout χωρίζει το frame σε 5 περιοχές. Το (0,10) τι κάνει?
Lanike71 Δημοσ. 8 Απριλίου 2013 Δημοσ. 8 Απριλίου 2013 Έχει βιντεάκια και στο youtube όπου σου δείχνει βήμα-βήμα τι κάνεις. Εγώ εκεί έμαθα όταν χρειάστηκε.
sarakinos Δημοσ. 8 Απριλίου 2013 Δημοσ. 8 Απριλίου 2013 Δες την τεκμηρίωση του στο site της java... Τα γράφει όλα αναλυτικά
BALZ Δημοσ. 8 Απριλίου 2013 Δημοσ. 8 Απριλίου 2013 Αυτό τι κάνει βρε παιδιά BorderLayout(0, 10)??? Εγώ ξέρω ότι το BorderLayout χωρίζει το frame σε 5 περιοχές. Το (0,10) τι κάνει? Τα κενά ανάμεσα σε αυτες τις περιοχές .
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα