Friday 15 April 2011

java - Button not working to draw line graph having its coordinate (x1, x2, y1, y2) -



java - Button not working to draw line graph having its coordinate (x1, x2, y1, y2) -

i getting problem displaying line graph. when press button "plot", nil happens.

how solve problem?

package linecalculate; import java.awt.basicstroke; import java.awt.borderlayout; import java.awt.color; import java.awt.dimension; import java.awt.fontmetrics; import java.awt.graphics; import java.awt.graphics2d; import java.awt.gridbaglayout; import java.awt.point; import java.awt.renderinghints; import java.awt.stroke; import java.awt.image.bufferedimage; import java.util.arraylist; import java.util.list; import java.util.random; import javax.swing.grouplayout; import javax.swing.imageicon; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.joptionpane; import javax.swing.jpanel; import javax.swing.swingutilities; /** * * @author huynhngoctan */ public class main extends javax.swing.jframe { boolean temp = false; /** * creates new form main */ public main() { settitle("huynhngoctan - line"); initcomponents(); } /** * method called within constructor initialize form. * warning: not modify code. content of method * regenerated form editor. */ @suppresswarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="generated code"> private void initcomponents() { jlabelx1 = new javax.swing.jlabel(); jlabely1 = new javax.swing.jlabel(); jlabelx2 = new javax.swing.jlabel(); jlabely2 = new javax.swing.jlabel(); jlabelslope = new javax.swing.jlabel(); jlabeldistance = new javax.swing.jlabel(); jlabelanglerad = new javax.swing.jlabel(); jlabelangledeg = new javax.swing.jlabel(); jlabelequation = new javax.swing.jlabel(); jtextfieldslope = new javax.swing.jtextfield(); jtextfielddistance = new javax.swing.jtextfield(); jtextfieldanglerad = new javax.swing.jtextfield(); jtextfieldangledeg = new javax.swing.jtextfield(); jtextfieldequation = new javax.swing.jtextfield(); jbuttoncalculate = new javax.swing.jbutton(); jbuttonplot = new javax.swing.jbutton(); jtextfieldx1 = new javax.swing.jtextfield(); jtextfieldy2 = new javax.swing.jtextfield(); jtextfieldx2 = new javax.swing.jtextfield(); jtextfieldy1 = new javax.swing.jtextfield(); jlabel10 = new javax.swing.jlabel(); jpaneldraw = new javax.swing.jpanel(); setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close); jlabelx1.settext("x1"); jlabely1.settext("y1"); jlabelx2.settext("x2"); jlabely2.settext("y2"); jlabelslope.settext("slope"); jlabeldistance.settext("distance between points"); jlabelanglerad.settext("angle (rad)"); jlabelangledeg.settext("angle (deg)"); jlabelequation.settext("equation of line"); jbuttoncalculate.settext("calculate"); jbuttoncalculate.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(java.awt.event.actionevent evt) { jbuttoncalculateactionperformed(evt); } }); jbuttonplot.settext("plot"); jbuttonplot.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(java.awt.event.actionevent evt) { jbuttonplotactionperformed(evt); } }); jlabel10.setfont(new java.awt.font("tahoma", 1, 13)); // noi18n jlabel10.setforeground(new java.awt.color(0, 51, 255)); jlabel10.settext("line calculation - version 1.0"); javax.swing.grouplayout jpaneldrawlayout = new javax.swing.grouplayout(jpaneldraw); jpaneldraw.setlayout(jpaneldrawlayout); jpaneldrawlayout.sethorizontalgroup( jpaneldrawlayout.createparallelgroup(javax.swing.grouplayout.alignment.leading) .addgap(0, 384, short.max_value) ); jpaneldrawlayout.setverticalgroup( jpaneldrawlayout.createparallelgroup(javax.swing.grouplayout.alignment.leading) .addgap(0, 100, short.max_value) ); javax.swing.grouplayout layout = new javax.swing.grouplayout(getcontentpane()); getcontentpane().setlayout(layout); layout.sethorizontalgroup( layout.createparallelgroup(javax.swing.grouplayout.alignment.leading) .addgroup(layout.createsequentialgroup() .addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.leading) .addgroup(layout.createsequentialgroup() .addcontainergap() .addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.leading) .addgroup(layout.createsequentialgroup() .addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.trailing) .addgroup(layout.createsequentialgroup() .addcomponent(jlabelslope) .addgap(18, 18, 18) .addcomponent(jtextfieldslope, javax.swing.grouplayout.preferred_size, 76, javax.swing.grouplayout.preferred_size)) .addgroup(layout.createsequentialgroup() .addcomponent(jlabelanglerad) .addgap(18, 18, 18) .addcomponent(jtextfieldanglerad, javax.swing.grouplayout.preferred_size, 76, javax.swing.grouplayout.preferred_size)) .addgroup(layout.createsequentialgroup() .addcomponent(jlabelx2) .addgap(18, 18, 18) .addcomponent(jtextfieldx2, javax.swing.grouplayout.preferred_size, 76, javax.swing.grouplayout.preferred_size)) .addgroup(layout.createsequentialgroup() .addcomponent(jlabelx1) .addgap(18, 18, 18) .addcomponent(jtextfieldx1, javax.swing.grouplayout.preferred_size, 76, javax.swing.grouplayout.preferred_size))) .addpreferredgap(javax.swing.layoutstyle.componentplacement.related, javax.swing.grouplayout.default_size, short.max_value) .addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.trailing) .addgroup(layout.createsequentialgroup() .addcomponent(jlabely2) .addgap(18, 18, 18) .addcomponent(jtextfieldy2, javax.swing.grouplayout.preferred_size, 76, javax.swing.grouplayout.preferred_size)) .addgroup(layout.createsequentialgroup() .addcomponent(jlabely1) .addgap(18, 18, 18) .addcomponent(jtextfieldy1, javax.swing.grouplayout.preferred_size, 76, javax.swing.grouplayout.preferred_size)) .addgroup(layout.createsequentialgroup() .addcomponent(jlabeldistance) .addgap(18, 18, 18) .addcomponent(jtextfielddistance, javax.swing.grouplayout.preferred_size, 76, javax.swing.grouplayout.preferred_size)) .addgroup(layout.createsequentialgroup() .addcomponent(jlabelangledeg) .addgap(18, 18, 18) .addcomponent(jtextfieldangledeg, javax.swing.grouplayout.preferred_size, 76, javax.swing.grouplayout.preferred_size)))) .addgroup(javax.swing.grouplayout.alignment.trailing, layout.createsequentialgroup() .addgap(0, 65, short.max_value) .addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.trailing) .addcomponent(jpaneldraw, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size) .addgroup(layout.createsequentialgroup() .addcomponent(jlabelequation) .addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.leading) .addgroup(layout.createsequentialgroup() .addgap(18, 18, 18) .addcomponent(jtextfieldequation, javax.swing.grouplayout.preferred_size, 267, javax.swing.grouplayout.preferred_size)) .addgroup(layout.createsequentialgroup() .addgap(7, 7, 7) .addcomponent(jlabel10, javax.swing.grouplayout.preferred_size, 205, javax.swing.grouplayout.preferred_size))))) .addgap(21, 21, 21)))) .addgroup(layout.createsequentialgroup() .addgap(131, 131, 131) .addcomponent(jbuttoncalculate) .addgap(92, 92, 92) .addcomponent(jbuttonplot) .addgap(0, 0, short.max_value))) .addcontainergap(61, short.max_value)) ); layout.setverticalgroup( layout.createparallelgroup(javax.swing.grouplayout.alignment.leading) .addgroup(layout.createsequentialgroup() .addgap(8, 8, 8) .addcomponent(jlabel10) .addpreferredgap(javax.swing.layoutstyle.componentplacement.related) .addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.baseline) .addcomponent(jlabelx1) .addcomponent(jlabely1) .addcomponent(jtextfieldx1, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size) .addcomponent(jtextfieldy1, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size)) .addpreferredgap(javax.swing.layoutstyle.componentplacement.related) .addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.baseline) .addcomponent(jlabelx2) .addcomponent(jlabely2) .addcomponent(jtextfieldy2, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size) .addcomponent(jtextfieldx2, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size)) .addgap(15, 15, 15) .addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.baseline) .addcomponent(jlabelslope) .addcomponent(jlabeldistance) .addcomponent(jtextfieldslope, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size) .addcomponent(jtextfielddistance, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size)) .addgap(18, 18, 18) .addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.baseline) .addcomponent(jlabelanglerad) .addcomponent(jlabelangledeg) .addcomponent(jtextfieldanglerad, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size) .addcomponent(jtextfieldangledeg, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size)) .addgap(26, 26, 26) .addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.baseline) .addcomponent(jlabelequation) .addcomponent(jtextfieldequation, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size)) .addpreferredgap(javax.swing.layoutstyle.componentplacement.unrelated) .addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.baseline) .addcomponent(jbuttoncalculate) .addcomponent(jbuttonplot)) .addgap(18, 18, 18) .addcomponent(jpaneldraw, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size) .addcontainergap(46, short.max_value)) ); pack(); }// </editor-fold> public boolean isnumeric(string str) { seek { double.parsedouble(str); } catch(exception e) { homecoming (false); } return(true); } public double round(double val, int plc) { double pwr = math.pow(10,plc); val = val * pwr; double tmp = (int) val; if( ((int)(val + .5)) == (int) val) homecoming (tmp/pwr); else return((tmp + 1.0)/pwr); } private void jbuttoncalculateactionperformed(java.awt.event.actionevent evt) { // todo add together handling code here double x1; double x2; double y1; double y2; double length_of_x; double length_of_y; double slope; double opposite; double angle_degrees; double angle_radians; double y_intercept; double distance_between_2_points; x1 = (double) (double.parsedouble(jtextfieldx1.gettext())); x2 = (double) (double.parsedouble(jtextfieldx2.gettext())); y1 = (double) (double.parsedouble(jtextfieldy1.gettext())); y2 = (double) (double.parsedouble(jtextfieldy2.gettext())); length_of_x = x2 - x1; length_of_y = y2 - y1; slope = length_of_y / length_of_x; slope = (double) round(slope,2); opposite = y2 - y1; distance_between_2_points = math.sqrt((length_of_x * length_of_x) + (length_of_y * length_of_y)); distance_between_2_points = (double) round(distance_between_2_points,2); angle_radians = opposite / distance_between_2_points; angle_radians = (double) round(angle_radians,2); angle_degrees = angle_radians * (180 / 3.14159); angle_degrees = (double) round(angle_degrees,2); y_intercept = (double) slope*(-x1)+y1; jtextfieldslope.settext(slope + ""); jtextfielddistance.settext(distance_between_2_points + ""); jtextfieldanglerad.settext(angle_radians + ""); jtextfieldangledeg.settext(angle_degrees + ""); jtextfieldequation.settext("y = " + slope + "" + "x + (" + y_intercept + ")"); } private void jbuttonplotactionperformed(java.awt.event.actionevent evt) { // todo add together handling code here: temp=true; } /** * @param args command line arguments */ public static void main(string args[]) { seek { (javax.swing.uimanager.lookandfeelinfo info : javax.swing.uimanager.getinstalledlookandfeels()) { if ("nimbus".equals(info.getname())) { javax.swing.uimanager.setlookandfeel(info.getclassname()); break; } } } grab (classnotfoundexception ex) { java.util.logging.logger.getlogger(main.class.getname()).log(java.util.logging.level.severe, null, ex); } grab (instantiationexception ex) { java.util.logging.logger.getlogger(main.class.getname()).log(java.util.logging.level.severe, null, ex); } grab (illegalaccessexception ex) { java.util.logging.logger.getlogger(main.class.getname()).log(java.util.logging.level.severe, null, ex); } grab (javax.swing.unsupportedlookandfeelexception ex) { java.util.logging.logger.getlogger(main.class.getname()).log(java.util.logging.level.severe, null, ex); } /* create , display form */ java.awt.eventqueue.invokelater(new runnable() { public void run() { new main().setvisible(true); } }); } // variables declaration - not modify private javax.swing.jbutton jbuttoncalculate; private javax.swing.jbutton jbuttonplot; private javax.swing.jlabel jlabel10; private javax.swing.jlabel jlabelangledeg; private javax.swing.jlabel jlabelanglerad; private javax.swing.jlabel jlabeldistance; private javax.swing.jlabel jlabelequation; private javax.swing.jlabel jlabelslope; private javax.swing.jlabel jlabelx1; private javax.swing.jlabel jlabelx2; private javax.swing.jlabel jlabely1; private javax.swing.jlabel jlabely2; private javax.swing.jpanel jpaneldraw; private javax.swing.jtextfield jtextfieldangledeg; private javax.swing.jtextfield jtextfieldanglerad; private javax.swing.jtextfield jtextfielddistance; private javax.swing.jtextfield jtextfieldequation; private javax.swing.jtextfield jtextfieldslope; private javax.swing.jtextfield jtextfieldx1; private javax.swing.jtextfield jtextfieldx2; private javax.swing.jtextfield jtextfieldy1; private javax.swing.jtextfield jtextfieldy2; // end of variables declaration }

it's because jbuttonplotactionperformed method sets temp variable true. nil else.

java swing label paint

No comments:

Post a Comment