- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在重写我拥有的一个小程序,但是当它加载时它给我一个运行时异常。异常(exception)是
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)
这是 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);
//setMenuBar();
mainFrame.pack();
mainFrame.setVisible(true);
}
private void setMenuBar() {
int id = 0;
for (int y = 0; y < JMENU_BUTTONS.length; y++) {
JMenu menu = new JMenu();
for (int i = 0; i < JMENU_BUTTONS[y].length; i++) {
if (i == 0) {
menu.setText((String) JMENU_BUTTONS[y][i]);
} else if (JMENU_BUTTONS[y][i] instanceof JMenuItem){
JMenuItem item = (JMenuItem) JMENU_BUTTONS[y][i];
menu.add(item);
item.setActionCommand(""+ id++);
item.addActionListener(this);
} else {
menu.add((JSeparator) JMENU_BUTTONS[y][i]);
}
}
menuBar.add(menu);
}
mainFrame.setJMenuBar(menuBar);
}
public void startClient() {
try {
//RuntimeLoader loader = new RuntimeLoader();
//Class clientclass = loader.loadClass("client");
//Applet clientApplet = (Applet) clientclass.newInstance();
//clientclass.getMethod("provideLoaderApplet",
// new Class[] { java.applet.Applet.class }).invoke(null,
// new Object[] { this });
//clientApplet.init();
//clientApplet.start();
client.provideLoaderApplet(this);
client var_client = new client();
var_client.init();
var_client.start();
} catch (Exception exception) {
exception.printStackTrace();
}
}
public URL getDocumentBase() {
return getCodeBase();
}
public URL getCodeBase() {
URL url;
try {
url = new URL(new StringBuilder().append("http://").append(mainurl)
.toString());
} catch (Exception exception) {
exception.printStackTrace();
return null;
}
return url;
}
@Override
public void actionPerformed(ActionEvent e) {
switch (Integer.parseInt(e.getActionCommand())) {
case 1:
if (JOptionPane.showConfirmDialog(this, "Are you sure you want to quit?") == 0)
System.exit(0);
break;
case 2:
browse("http://dementhium.wikia.com/wiki/Getting_Started");
break;
case 3:
browse("http://forums.dementhium.com/showthread.php?t=143");
break;
case 4:
browse("http://dementhium.wikia.com/wiki/Dementhium_Wiki");
break;
case 5:
browse("http://dementhium.wikia.com/wiki/Dementhium_Wiki");
break;
case 6:
browse("http://forums.dementhium.com/");
break;
case 7:
browse("http://www.youtube.com/DementhiumOfficial");
break;
case 8:
browse("http://forums.dementhium.com/payments.php");
break;
case 9:
writeImage(robot.createScreenCapture(getGameScreenRectangle()));
break;
default:
System.out.println(Integer.parseInt(e.getActionCommand()));
}
}
private Rectangle getGameScreenRectangle() {
Rectangle rect = getBounds();
rect.setLocation(this.getLocationOnScreen());
return rect;
}
private void writeImage(BufferedImage createScreenCapture) {
try {
ImageIO.write(createScreenCapture, "PNG", new File("./images/capture-" + capNum++ + ".png"));
} catch (IOException e) {
e.printStackTrace();
}
}
private void browse(String string) {
if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)) {
try {
Desktop.getDesktop().browse(new URI(string));
} catch (IOException e1) {
e1.printStackTrace();
} catch (URISyntaxException e1) {
e1.printStackTrace();
}
}
}
}
这里是 ClientSettings.java,这是从各种文件调用的,args 总是使用定义
public String[] data;
在 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];
}
}
最佳答案
RunClient
的第 41 行正在寻找 ClientSettings
上的默认构造函数,它不存在。您已经定义了一个采用 String[]
的构造函数,因此不会生成默认构造函数。您发布的代码似乎没有在运行,因为它似乎显示了正确的构造函数调用。
关于java - 未找到方法 init()v,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13998202/
我找到了 this excellent question and answer它以 x/y(加上 center x/y 和 degrees/radians)开始并计算旋转- 到 x'/y'。这个计算很
全部: 我已经创建了一个 Windows 窗体和一个按钮。在另一个线程中,我试图更改按钮的文本,但它崩溃了;但是如果我尝试更改按钮的颜色,它肯定会成功。我认为如果您更改任何 Windows 窗体控件属
本网站的另一个问题已证实,C 中没有缩写的字面后缀,并且可以执行以下操作: short Number = (short)1; 但是转换它和不这样做有什么区别: short Number = 1; 您使
我有下表: ID (int) EMAIL (varchar(50)) CAMPAIGNID (int) isSubscribe (bit) isActionByUser (bit) 此表存储了用户对事
也就是说,无需触发Javascript事件即可改变的属性,如何保留我手动选中或取消选中的复选框的状态,然后复制到另一个地方? 运行下面的代码片段并选中或取消选中其中的一些,然后点击“复制”: $('#
我在网上找到的所有关于递增指针导致段错误的示例都涉及指针的取消引用 - 如果我只想递增它(例如在 for 循环的末尾)并且我不在乎它是否最终进入无效内存,因为我不会再使用它。例如,在这个程序中,每次迭
我有一个 Spring MVC REST 服务,它使用 XStream 将消息与 XML 相互转换。 有什么方法可以将请求和响应中的 xml(即正文)打印到普通的 log4j 记录器? 在 Contr
做我的任务有一个很大的挑战,那就是做相互依赖的任务我在这张照片中说的。假设我们有两个任务 A 和 B,执行子任务 A1、A2 和 B1、B2,假设任务 B 依赖于 A。 要理想地执行任务 B,您应该执
通过阅读该网站上的几个答案,我了解到 CoInitialize(Ex) should be called by the creator of a thread 。然后,在该线程中运行的任何代码都可以使
这个问题已经困扰我一段时间了。我以前从未真正使用过 ListViews,也没有使用过 FirebaseListAdapters。我想做的就是通过显示 id 和用户位置来启动列表的基础,但由于某种原因,
我很难解释这两个(看似简单)句子的含义: “受检异常由编译器在编译时检查” 这是什么意思?编译器检查是否捕获了所有已检查的异常(在代码中抛出)? “未经检查的异常在运行时检查,而不是编译时” 这句话中
我有一个包含排除子字符串的文本文件,我想迭代该文件以检查并返回不带排除子字符串的输入项。 这里我使用 python 2.4,因此下面的代码可以实现此目的,因为 with open 和 any 不起作用
Spring 的缓存框架能否了解请求上下文的身份验证状态,或者更容易推出自己的缓存解决方案? 最佳答案 尽管我发现这个用例 super 奇怪,但您可以为几乎任何与 SpEL 配合使用的内容设置缓存条件
我有以下函数模板: template HeldAs* duplicate(MostDerived *original, HeldAs *held) { // error checking omi
如果我的应用程序具有设备管理员/设备所有者权限(未获得 root 权限),我如何才能从我的应用程序中终止(或阻止启动)另一个应用程序? 最佳答案 设备所有者可以阻止应用程序: DevicePolicy
非常简单的问题,但我似乎无法让它正常工作。 我有一个组件,其中有一些 XSLT(用于导航)。它通过 XSLT TBB 使用 XSLT Mediator 发布。 发布后
我正在将一个对象拖动到一个可拖放的对象内,该对象也是可拖动的。放置对象后,它会嵌套在可放置对象内。同样,如果我将对象拖到可放置的外部,它就不再嵌套。 但是,如果我经常拖入和拖出可放置对象,则可拖动对象
我正在尝试为按钮和弹出窗口等多个指令实现“取消选择”功能。也就是说,我希望当用户单击不属于指令模板一部分的元素时触发我的函数。目前,我正在使用以下 JQuery 代码: $('body').click
我从 this question 得到了下面的代码,该脚本用于在 Google tasks 上更改 iframe[src="about:blank"] 内的 CSS使用 Chrome 扩展 Tempe
我有一些 @Mock 对象,但没有指定在该对象上调用方法的返回值。该方法返回 int (不是 Integer)。我很惊讶地发现 Mockito 没有抛出 NPE 并返回 0。这是预期的行为吗? 例如:
我是一名优秀的程序员,十分优秀!