java - program works in eclipse but not after exported into a jar file -
i wrote program gets input device , displays on jpanel numbers according input when export file wouldnt show -as if doesnt start here sample code:
main:
public class main1 { static commportidentifier portid; static enumeration portlist; public static void main(string[] args) { portlist=commportidentifier.getportidentifiers(); while (portlist.hasmoreelements()){ portid=(commportidentifier) portlist.nextelement(); if (portid.getporttype()==commportidentifier.port_serial){ if (portid.getname().equalsignorecase("com4")){ sensor sensor1= new sensor(portid,portlist); try { thread.sleep(3000); } catch (exception e) {} jframe myframe = new jframe ("mouse controller"); myframe.setvisible(true); myframe.setsize(400, 400); mousecontrolpanel mymousecontroller = new mousecontrolpanel(sensor1); myframe.add(mymousecontroller); } } } } } the content of window-
public class mousecontrolpanel extends jpanel { /** * */ private static final long serialversionuid = 1l; int i=0; sensor sensor1; string value; public mousecontrolpanel (sensor sensor1){ this.sensor1=sensor1; value=sensor1.getvalue()+""; } public void paintcomponent (graphics g){ super.paintcomponent(g); g.setfont(new font("ariel",font.italic,50)); g.drawstring(sensor1.getvalue()+"", 100, 100); try { thread.sleep(10); } catch (exception e) {} repaint(); } }
code can combined 1 class - put main mousecontrolpanel. see following problems:
- missing import statements
- nonexistent class
sensorreference - relies on classes javacomm - library detecting serial port activity must downloaded separately jdk - you're missing dependency when try run .jar - add classpath.
i cannot compile code, believe following if above solved work:
import java.awt.font; import java.awt.graphics; import java.util.enumeration; // commportidentifier part of javacomm // see http://reprap.org/wiki/javacomm description of , how import javax.comm.commportidentifier; import javax.swing.jframe; import javax.swing.jpanel; public class mousecontrolpanel extends jpanel { sensor sensor1; // class this? string value; public mousecontrolpanel(sensor sensor1) { this.sensor1 = sensor1; this.value = sensor1.getvalue() + ""; } public void paintcomponent(graphics g) { super.paintcomponent(g); g.setfont(new font("ariel", font.italic, 50)); g.drawstring(sensor1.getvalue() + "", 100, 100); thread.sleep(10); repaint(); } public static void main(string[] args) { commportidentifier portid; enumeration portlist; portlist = commportidentifier.getportidentifiers(); while (portlist.hasmoreelements()) { portid = (commportidentifier) portlist.nextelement(); // rewrote conditional guard clause if (portid.getporttype() != commportidentifier.port_serial || !portid.getname().equalsignorecase("com4")) { continue; } sensor sensor1 = new sensor(portid, portlist); thread.sleep(3000); mousecontrolpanel mymousecontroller = new mousecontrolpanel(sensor1); jframe myframe = new jframe("mouse controller"); myframe.setvisible(true); myframe.setsize(400, 400); myframe.add(mymousecontroller); } } }
Comments
Post a Comment