Posted by ±è¿Ï½Ä on June 11, 1997 at 17:26:11:
¼öÄ¡Çؼ®À» ÀÚ¹Ù·Î ±¸ÇöÇÏ·Á°í ÇÕ´Ï´Ù.
¾îÈֺм®±â·Î ÇÔ¼ö½ÄÀ» º¸³»±â Àü¿¡ ÇÔ¼ö½ÄÀÇ x°ªÀ»
ÀԷµé¾î¿Â °ªÀ¸·Î ´ëÄ¡½ÃÅ°·Á´Âµ¥ Àß µÇÁú ¾Ê´Â±º¿ä.
¿¹) x*x+3*x => 2*2+3*xÀÌ ¼Ò½º¿¡¼´Â ¸ðµç x¸¦ 2·Î ´ëÄ¡½ÃŲ ÇÔ¼ö¸¦ Ãâ·ÂÇÏ´Â
------------------------------------------------------
import java.awt.*;
import java.applet.*;
public class ArcTest extends Applet {
ArcControls controls;
public void init() {
setLayout(new BorderLayout());
ArcCanvas c = new ArcCanvas();
add("Center", c);
add("South", controls = new ArcControls(c));
}
public void start() {
controls.enable();
}
public void stop() {
controls.disable();
}
public boolean handleEvent(Event e) {
if (e.id == Event.WINDOW_DESTROY) {
System.exit(0);
}
return false;
}
public static void main(String args[]) {
Frame f = new Frame("ArcTest");
ArcTest arcTest = new ArcTest();
arcTest.init();
arcTest.start();
f.add("Center", arcTest);
f.resize(300, 300);
f.show();
}
}
class ArcCanvas extends Canvas {
String hamsu1;
String hamsu2;
int startAngle = 0;
int endAngle = 0;
int no1 = 0;
boolean filled = false;
Font font;
public void paint(Graphics g) {
g.setColor(Color.black);
g.setFont(font);
int sx = 10;
int sy = 10;
g.drawString("Hamsu = " + hamsu1, sx, sy);
g.drawString("X1 = " + startAngle, sx, sy + 20);
g.drawString("X2 = " + endAngle, sx, sy + 40);
g.drawString("no = " + no1, sx, sy + 60);
g.drawString("newhamsu = " + hamsu2, sx, sy + 80);
}
public void redraw(boolean filled, String hamsu, int start, int end, int no) {
this.filled = filled;
this.hamsu1 = hamsu;
this.startAngle = start;
this.endAngle = end;
this.no1 = no;
this.hamsu2 = change(hamsu);
repaint();
}
String change(String oldhamsu) {
char c;
String newhamsu = "";
String text;
int lexIndex = 0;
int textLength;
text = oldhamsu;
textLength = text.length();
do {
c = text.charAt(lexIndex++);
if (c == 'x') c = '2';
newhamsu += c;
}while(lexIndex <= textLength);
return newhamsu;
}
}
class ArcControls extends Panel {
TextField hamsu;
TextField x1;
TextField x2;
TextField no;
ArcCanvas canvas;
public ArcControls(ArcCanvas canvas) {
this.canvas = canvas;
add(hamsu = new TextField(20));
add(x1 = new TextField(4));
add(x2 = new TextField(4));
add(no = new TextField(4));
add(new Button("O.K"));
add(new Button("Cancel"));
}
public boolean action(Event ev, Object arg) {
if (ev.target instanceof Button) {
String label = (String)arg;
canvas.redraw(label.equals("O.K"),
hamsu.getText().trim(),
Integer.parseInt(x1.getText().trim()),
Integer.parseInt(x2.getText().trim()),
Integer.parseInt(no.getText().trim()));
return true;
}
return false;
}
}
-------------------------------------------------------