programik rysujący wykres funkcji ax^2+bx+c
17 03 2008import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
class Rysuj extends JFrame{
public double a,b,c;
private JButton przycisk=new JButton (”Rysuj”);
private JTextField poleA=new JTextField(”0″, 5);
private JTextField poleB=new JTextField(”0″, 5);
private JTextField poleC=new JTextField(”0″, 5);
private Panel panel=new Panel();
public ActionListener oblicz = new ActionListener() {
public void actionPerformed(ActionEvent zdarzenie) {
String zawartoscA = poleA.getText();
String zawartoscB = poleB.getText();
String zawartoscC = poleC.getText();
a = Double.parseDouble(zawartoscA);
b = Double.parseDouble(zawartoscB);
c = Double.parseDouble(zawartoscC);
panel.repaint();
//panel.draw(a,b,c);
}
};
public Rysuj() {
//setLayout(new FlowLayout());
setLayout(null);
przycisk.addActionListener(oblicz);
poleA.setBounds(10,10,50,25);
add(poleA);
poleB.setBounds(70,10,50,25);
add(poleB);
poleC.setBounds(130,10,50,25);
add(poleC);
przycisk.setBounds(190,10,150,25);
add(przycisk);
panel.setBounds(10,50,500,500);
add(panel);
}
}
class Panel extends JComponent{
public void paint(Graphics g){
// super.paintComponent(g);
//Os X
g.drawLine(20,250,480,250);
g.drawLine(480,250,476,254);
g.drawLine(480,250,476,246);
g.drawLine(50,245,50,255);
g.drawString(”-10″,40,267);
g.drawLine(450,245,450,255);
g.drawString(”10″,443,267);
//Os Y
g.drawLine(250,0,250,460);
g.drawLine(250,0,254,4);
g.drawLine(250,0,246,4);
g.drawLine(245,50,255,50);
g.drawString(”10″,260,54);
g.drawLine(245,450,255,450);
g.drawString(”-10″,260,454);
}
/*public void draw (double a, double b, double c){
Point p=new Point(100,100);
while (p.x<=500 && p.y<=500){
drawLine(30,280,450,220);
//g.drawPoint(p);
}
}*/
}
public class Wykres{
public static void run(final JFrame ekran, final int x, final int y){
SwingUtilities.invokeLater(new Runnable(){
public void run(){
ekran.setTitle(”Rysowanie wykresu.”);
ekran.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ekran.setSize(x,y);
ekran.setVisible(true);
}
});
}
public static void main(String [] args){
Wykres.run(new Rysuj(), 600, 600);
}
}