PDA

View Full Version : ایجاد یک اپلت ماشین حساب



سفید برفی
سه شنبه 17 بهمن 1385, 16:18 عصر
سلام
من می خوام یه ماشین حساب داشته باشم که دکمه هاش مرتب و اندازه اش ثابت باشه.کدی که نوشتم اینه:



import java.applet.Applet;
import java.awt.*;
public class Fcalculator extends Applet {
private static final long serialVersionUID = 1L;
public void init() {
setLayout(new GridLayout(2,4, 20, 10));
Frame win = new Frame("calculator");
win.resize(10,20);
win.setLayout(new FlowLayout(1,1,20));
Color theColor1 = new Color(200, 220, 242);
Color theColor2 = new Color(0, 46, 91);
win.setBackground(theColor1);
win.setForeground(theColor2);
win.add(new TextField(20));
win.add(new Label());
win.add(new Label());
win.add(new Label());
win.add(new Label());
win.add(new Button("7"));
win.add(new Button("8"));
win.add(new Button("9"));
win.add(new Button("C"));
win.add(new Button("4"));
win.add(new Button("5"));
win.add(new Button("6"));
win.add(new Button("="));
win.add(new Button("1"));
win.add(new Button("2"));
win.add(new Button("3"));
win.add(new Button("/"));
win.add(new Button("0"));
win.add(new Button("+"));
win.add(new Button("-"));
win.add(new Button("*"));
win.show();
}
public Insets insets() {
return new Insets(250, 300, 250, 250);
}

rezaTavak
سه شنبه 17 بهمن 1385, 21:07 عصر
برنامه شما کامل نیست اما اینجا یک نمونه هست:

http://www.java2s.com/Code/Java/Swing-Components/PopupCalculator.htm

سفید برفی
چهارشنبه 18 بهمن 1385, 09:52 صبح
ببخشید این لینکی که دادید اصلا باز نمی شه اگه ممکن چون عجله دارم یک کینک دیگه بدید یا اگه ممکن اینجا upload کنید.واقعا ممنونم.

nargesi
چهارشنبه 18 بهمن 1385, 15:50 عصر
سلام
این همون آدرسه http://falsario.com/index.php?q=uggc%3A%2F%2Fjjj.wnin2f.pbz%2FPbqr%2FW nin%2FFjvat-Pbzcbaragf%2FCbchcPnyphyngbe.ugz&hl=1011111111

سفید برفی
چهارشنبه 18 بهمن 1385, 20:52 عصر
یک دنیا ممنونم.

rezaTavak
پنج شنبه 19 بهمن 1385, 10:48 صبح
/**
* @version 1.20 27 Jun 1998
* @author Cay Horstmann
*/

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class PopupCalculatorApplet extends JApplet implements ActionListener {
public void init() {
Button calcButton = new Button("Calculator");
calcButton.addActionListener(this);
Container contentPane = getContentPane();
contentPane.add(calcButton);
}

public void actionPerformed(ActionEvent evt) {
if (calc.isVisible())
calc.setVisible(false);
else
calc.show();
}

private JFrame calc = new CalculatorFrame();
}

class CalculatorPanel extends JPanel implements ActionListener {
public CalculatorPanel() {
setLayout(new BorderLayout());

display = new JTextField("0");
display.setEditable(false);
add(display, "North");

JPanel p = new JPanel();
p.setLayout(new GridLayout(4, 4));
String buttons = "789/456*123-0.=+";
for (int i = 0; i < buttons.length(); i++)
addButton(p, buttons.substring(i, i + 1));
add(p, "Center");
}

private void addButton(Container c, String s) {
JButton b = new JButton(s);
c.add(b);
b.addActionListener(this);
}

public void actionPerformed(ActionEvent evt) {
String s = evt.getActionCommand();
if ('0' <= s.charAt(0) && s.charAt(0) <= '9' || s.equals(".")) {
if (start)
display.setText(s);
else
display.setText(display.getText() + s);
start = false;
} else {
if (start) {
if (s.equals("-")) {
display.setText(s);
start = false;
} else
op = s;
} else {
calculate(Double.parseDouble(display.getText()));
op = s;
start = true;
}
}
}

public void calculate(double n) {
if (op.equals("+"))
arg += n;
else if (op.equals("-"))
arg -= n;
else if (op.equals("*"))
arg *= n;
else if (op.equals("/"))
arg /= n;
else if (op.equals("="))
arg = n;
display.setText("" + arg);
}

private JTextField display;

private double arg = 0;

private String op = "=";

private boolean start = true;
}

class CalculatorFrame extends JFrame {
public CalculatorFrame() {
setTitle("Calculator");
setSize(200, 200);

Container contentPane = getContentPane();
contentPane.add(new CalculatorPanel());
}
}





این دقیقا همون کد هست.

rezaTavak
پنج شنبه 19 بهمن 1385, 10:50 صبح
راستی این سایت java2s فیلتره؟

rezaTavak
پنج شنبه 19 بهمن 1385, 11:08 صبح
راستی این سایت java2s فیلتره؟

nargesi
پنج شنبه 19 بهمن 1385, 16:49 عصر
فیلتر نیست یه چیزیش عوض شده که مثلا روترا که از کش می خونن فعلا نمی تونن بیارن ( شبکم زیاد خوب نیست فکر کنم اینجوریه) چون چند بار که با این error ها برخورد کردم بعد یه مدت درست میشد و سایتو می آره. صفحه ای رو که می آره براتون میزارم اگه می خواین ببینین