Code:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package zapocet;
import java.awt.Color;
import java.awt.Graphics;
/**
*
* @author
*/
public class funkce extends javax.swing.JApplet {
double a,b,c; //y=ax2+bx+c
int s,v; //sirka a vyska platna
Graphics g;
/** Initializes the applet funkce */
@Override
public void init() {
try {
java.awt.EventQueue.invokeAndWait(new Runnable() {
public void run() {
initComponents();
}
});
} catch (Exception ex) {
ex.printStackTrace();
}
a = 0.5;
b = 5;
c = 2;
s = 300;
v = 200;
this.resize(s + 150, v + 100);
platno.setSize(s, v);
}
/** This method is called from within the init() method to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
jButton1 = new javax.swing.JButton();
platno = new javax.swing.JPanel();
sliderA = new javax.swing.JSlider();
sliderB = new javax.swing.JSlider();
sliderColor = new javax.swing.JSlider();
platno.setBorder(javax.swing.BorderFactory.createEtchedBorder());
javax.swing.GroupLayout platnoLayout = new javax.swing.GroupLayout(platno);
platno.setLayout(platnoLayout);
platnoLayout.setHorizontalGroup(
platnoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 420, Short.MAX_VALUE)
);
platnoLayout.setVerticalGroup(
platnoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0,320, Short.MAX_VALUE)
);
jButton1.setText("vykresli!");
jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
@Override
public void mouseReleased(java.awt.event.MouseEvent evt) {
jButton1MouseReleased(evt);
}
});
sliderA.setMaximum(200);
sliderA.addMouseListener(new java.awt.event.MouseAdapter() {
@Override
public void mouseReleased(java.awt.event.MouseEvent evt) {
sliderAMouseReleased(evt);
}
});
sliderB.setMaximum(300);
sliderB.setValue(200);
sliderColor.setMaximum(225);
sliderColor.addMouseListener(new java.awt.event.MouseAdapter() {
@Override
public void mouseReleased(java.awt.event.MouseEvent evt) {
sliderColorMouseReleased(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(sliderB, 0, 0, Short.MAX_VALUE)
.addComponent(jButton1)
.addComponent(sliderA, javax.swing.GroupLayout.DEFAULT_SIZE, 80, Short.MAX_VALUE))
.addComponent(sliderColor, 0, 0, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(platno, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(platno, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
.addGroup(layout.createSequentialGroup()
.addComponent(jButton1)
.addGap(30, 30, 30)
.addComponent(sliderA, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(36, 36, 36)
.addComponent(sliderB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(120, 120, 120)
.addComponent(sliderColor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(129, 129, 129))))
);
}// </editor-fold>//GEN-END:initComponents
private void jButton1MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton1MouseReleased
this.osy();
int i;
g.setColor(barva);
for(i=1;i<this.s;i++)
g.drawLine(i,fx(i),i+1,fx(i+i));
}//GEN-LAST:event_jButton1MouseReleased
private void sliderAMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_sliderAMouseReleased
jButton1MouseReleased(evt);
}//GEN-LAST:event_sliderAMouseReleased
private void sliderColorMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_sliderColorMouseReleased
jButton1MouseReleased(evt);
}//GEN-LAST:event_sliderColorMouseReleased
public void osy() {
g=platno.getGraphics();
s=platno.getSize().width;
v=platno.getSize().height;
g.clearRect(1,1,s-2,v-2);
g.drawLine(0, v / 2, s, v / 2);
g.drawLine(s / 2, 0, s / 2, v);
}
public int fx(int x) { // fx=ax2+bx+c
a=sliderA.getValue()/100.0;
return getY(a * getX(x) * getX(x) + b * getX(x)+ c);
}
public int getX(int x) {
return x - s / 2;
}
public int getY(double y) {
return v / 2 - (int) y;
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton jButton1;
private javax.swing.JPanel platno;
private javax.swing.JSlider sliderA;
private javax.swing.JSlider sliderB;
private javax.swing.JSlider sliderColor;
// End of variables declaration//GEN-END:variables
}