+ Reply to Thread
Results 1 to 3 of 3

Thread: Oprava zdrojáků v programu

  1. #1

    Oprava zdrojáků v programu

    Mám napsané zdrojové kody programu, který má vykreslovat průběh zvolené matematické funkce. Hodnoty těchto parametrů se mají měnit dynamicky za běhu programu pomocí posuvníku jslider. Barva grafu by se měla taky měnit.
    Ale program mě graf vykresluje špatně, a barvu nemění vůbec.Prosím o radu , kde mám v programu chybu!
    Děkuji

    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 
            
        }

  2. #2

    Re: Oprava zdrojáků v programu

    Tak hraní si s barvičkami mou nevyužívám , ale chybu tam nevidím, možná někdo kdo tyto knihovny využívá více ti poradí.

  3. #3

    Re: Oprava zdrojáků v programu

    Mohl bys jinak používat tag Code tady na foru, kvůli přehlednosti
    Zameranie: HTML, CSS, PHP + SQL, Visual Basic
    Definicia znalosti: HTML(90%), CSS(80%), PHP(50%), SQL(45%), Visual Basic(28%), JavaScript(15%)

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts