I am rewriting the applet that I have, but when it loads it, I get an exception at runtime. The exception is
Exception in thread "main" java.lang.NoSuchMethodError: ClientSettings: method < init>()V not found at RunClient.<init>(RunClient.java:41) at RunClient.main(RunClient.java:63)
Here is the RunClient:
import java.applet.Applet; import java.awt.BorderLayout; import java.awt.Container; import java.awt.Desktop; import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.image.BufferedImage; import java.io.File; import java.io.FilenameFilter; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.util.Properties; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPopupMenu; import javax.swing.JSeparator; public class RunClient extends Applet implements ActionListener { private Robot robot; private static final long serialVersionUID = 1L; public static Properties params = new Properties(); public JFrame mainFrame; public JPanel mainPane = new JPanel(); public static String[] data; public String mainurl = getParameter("ip"); public int lang = 0; public String frameName = getParameter("servername"); public JPanel totalPanel; private JMenuBar menuBar = new JMenuBar(); private int capNum; private FilenameFilter filter = new FilenameFilter() { @Override public boolean accept(File arg0, String arg1) { if (arg0.getName().equals("images") && arg1.endsWith("png")) { return true; } return false; } }; public static final Object[][] JMENU_BUTTONS = new Object[][]{{"File", new JMenuItem("New Client"), new JSeparator(), new JMenuItem("Exit")}, {"Guides", new JMenuItem("Getting Started"), new JMenuItem("Fighting Monsters"), new JMenuItem("Money Making")}, {"Links", new JMenuItem("Wiki"), new JMenuItem("Forums"), new JMenuItem("Youtube"), new JMenuItem("Donate")}, {"Tools", new JMenuItem("Take a screenshot")}}; public String[] getLoaderParameters() { return new String[]{getParameter("servername"), getParameter("ip"), getParameter("port")}; } public static void main(String[] strings) { data = getLoaderParameters(); new ClientSettings(data); RunClient runclient = new RunClient(); runclient.doFrame(); } public RunClient() { try { loadCaptureAmts(); robot = new Robot(); } catch(Exception e) { e.printStackTrace(); } } private void loadCaptureAmts() { capNum = new File("./images/").listFiles(filter).length; } public void init() { doApplet(); } void doApplet() { try { readVars(); startClient(); } catch (Exception exception) { exception.printStackTrace(); } } public void doFrame() { try { readVars(); openFrame(); startClient(); } catch (Exception exception) { exception.printStackTrace(); } } public void readVars() throws IOException { params.put("cabbase", "g.cab"); params.put("java_arguments", "-Xmx1024m -Dsun.java2d.noddraw=true"); params.put("colourid", "0"); params.put("worldid", "16"); params.put("lobbyid", "15"); params.put("demoid", "0"); params.put("demoaddress", ""); params.put("modewhere", "0"); params.put("modewhat", "0"); params.put("lang", "0"); params.put("objecttag", "0"); params.put("js", "1"); params.put("game", "0"); params.put("affid", "0"); params.put("advert", "1"); params.put("settings", "wwGlrZHF5gJcZl7tf7KSRh0MZLhiU0gI0xDX6DwZ-Qk"); params.put("country", "0"); params.put("haveie6", "0"); params.put("havefirefox", "1"); params.put("cookieprefix", ""); params.put("cookiehost", "127.0.0.1"); params.put("cachesubdirid", "0"); params.put("crashurl", ""); params.put("unsignedurl", ""); params.put("sitesettings_member", "1"); params.put("frombilling", "false"); params.put("sskey", ""); params.put("force64mb", "false"); params.put("worldflags", "8"); params.put("lobbyaddress", mainurl); } public void openFrame() { JPopupMenu.setDefaultLightWeightPopupEnabled(false); mainPane.setLayout(new BorderLayout()); mainPane.add(this); mainPane.setPreferredSize(new Dimension(765, 503)); totalPanel = new JPanel(); totalPanel.setPreferredSize(new Dimension(765, 503)); totalPanel.setLayout(new BorderLayout()); totalPanel.add(mainPane, BorderLayout.CENTER); mainFrame = new JFrame(frameName); mainFrame.setLayout(new BorderLayout()); mainFrame.getContentPane().add(totalPanel, BorderLayout.CENTER); mainFrame.setDefaultCloseOperation(3);
and here ClientSettings.java, it is called from different files, args is always determined using
public String[] data;
in runclient
public class ClientSettings { public int PORT; public String IPADDRESS; public String SERVERNAME; public ClientSettings(String[] args) { PORT = Integer.parseInt(args[2]); IPADDRESS = args[1]; SERVERNAME = args[0]; } }