Hi, ich habe folgendes Programm...
...und ich möchte jetzt, dass das Fenster mit Inhalt vergrößert und verkleinert wird! Hat jemand nen Tipp für mich?
Java:
/**
*
* Beschreibung
*
* @version 1.0 vom 11.06.2010
* @
*/
import java.awt.*;
import java.awt.event.*;
public class ShowFunction extends Frame{
public ShowFunction(){
setTitle("Belegaufgabe");
setSize(600,600);
addWindowListener(new ShowFunctionWindowListener());
setVisible(true);
}
public void paint(Graphics g) {
g.setColor(Color.black);
g.drawLine(50,300,550,300);
int xp = 50, y0 = 300, y1 = y0+5;
for (int i=0;i<=10;i++) {
g.drawLine(xp,y0,xp,y1);
xp += 40;
g.drawString(""+i,xp-42,320);
if(i==0){
}
else{
g.drawString(""+i,xp-42,320);
}
}
g.drawString("x-Achse", 530, 320);
g.drawString("y-Achse", 60, 50);
g.drawString("^",48,52);
g.drawString(">",551,305);
g.drawString("Y = 0.5*x * Math.log (x)", 220, 140);
g.drawLine(50,50,50,550);
int a = 140, y2= 50, y3= y2-5;
for (int i=3;i>=-3;i--) {
a += 40;
g.drawLine(y2,a,y3,a);
if(i==0){
}
else{
g.drawString(""+i,y3-15,a);
}
}
int x_ursprung=50, y_ursprung = 300; // position ursprung
int xpos = x_ursprung, ypos = y_ursprung;
int pixelfaktor = 40; // anzahl der pixel pro ganzem x
// . . .achsen zeichen
double dx=0.1; // differenz zwischen 2 x-Werten
double x=0.0001, y=0.5*0.0001 * Math.log (0.0001); // anfangswert setzen
// entsprechende positionen berechnen
int xpos_alt = x_ursprung + (int)(x*pixelfaktor);
int ypos_alt = y_ursprung - (int)(y*pixelfaktor);
while (x <=5) {
y = 0.5*x * Math.log (x); // neuer y-wert
// neue positionen
xpos = x_ursprung + (int)(x*pixelfaktor);
ypos = y_ursprung - (int)(y*pixelfaktor);
g.setColor(Color.red);
g.drawLine(xpos_alt,ypos_alt,xpos,ypos);
// position merken
xpos_alt = xpos;
ypos_alt = ypos;
// naechster x-wert
x = x + dx;
}
}
class ShowFunctionWindowListener extends WindowAdapter{
public void windowClosing(WindowEvent e){
e.getWindow().dispose();
System.exit(0);
}
}
public static void main(String[] args) {
new ShowFunction();
}
}
...und ich möchte jetzt, dass das Fenster mit Inhalt vergrößert und verkleinert wird! Hat jemand nen Tipp für mich?
Zuletzt bearbeitet: