小编yoo*_*nsi的帖子

如何在尝试运行LWJGL"Hello World"时解决此JNI错误?

我正在尝试从LWJGL网站运行示例"Hello World"

从这个链接:LWJGL"入门"

我试图通过命令行来做到这一点,所以我理解"幕后"更好一点.

我已经设法编译没有任何错误,但当我尝试运行该程序时,我收到此错误:

C:\JavaProjects\LearningLWJGL>java -classpath .;./lib/*.jar -Djava.library.path=C:\Windows\System32 HelloWorld
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/lwjgl/glfw/GLFWKeyCallback
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.privateGetMethodRecursive(Unknown Source)
    at java.lang.Class.getMethod0(Unknown Source)
    at java.lang.Class.getMethod(Unknown Source)
    at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
    at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.lwjgl.glfw.GLFWKeyCallback
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 7 more
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

java classpath lwjgl

16
推荐指数
1
解决办法
11万
查看次数

我是否错误地使用默认参数?

我刚刚开始阅读C++的初学者书.我有一些java经验(但是说过,我从来没有在java中使用默认参数,说实话)

所以,如上所述,我的问题是默认参数..

这是我正在使用的代码片段:

#include <iostream>

using namespace std;

//add declaration
int add(int a, int b);

int main (void)
{
        int number1;

        cout << "Enter the first value to be summed: ";
        cin >> number1;
        cout << "\nThe sum is: " << add(number1) << endl;
}

int add(int a=10, int b=5)
{
        return a+b;
}
Run Code Online (Sandbox Code Playgroud)

我从g ++编译器得到的响应是:"函数'int add(int,int)'的参数太少了

我做错了吗?(我也用文字参数尝试过)

PS我似乎无法正常显示代码片段?系统有变化吗?

c++ function default-arguments

9
推荐指数
1
解决办法
972
查看次数

如何让两个JPanel总是占据屏幕的一半,水平分割?

如标题中所述.我有两个JPanels一个在另一个上面使用a BorderLayout().

import java.awt.*;
import javax.swing.*;

public class myForm(){
    public static void main(String[] args) {       
        JFrame myFrame = new JFrame("SingSong");
        myFrame.setLocation(100,100);
        myFrame.setSize(new Dimension(1024,800));
        myFrame.setLayout(new BorderLayout());
        JPanel jp = new JPanel();
        jp.setBackground(new Color(0x00FF00FF));
        JPanel jp2 = new JPanel(new BorderLayout());
        jp2.setBackground(new Color(0x00000000));

        jp.setPreferredSize(new Dimension(100,400));
        jp2.setPreferredSize(new Dimension(100,400));
        jp2.setLocation(0, 512);

        myFrame.add(jp2, BorderLayout.SOUTH);
        myFrame.add(jp, BorderLayout.NORTH);
    }
}        
Run Code Online (Sandbox Code Playgroud)

它们各占一半,但我怎么能设置它以便它们总是占用JFrame的一半,即使调整大小?(PS我通常使用更好的变量名,我只是把它作为SSCCE)

java swing jpanel

7
推荐指数
1
解决办法
7440
查看次数

这个java .execute()方法调用是什么意思?

我正在阅读sun java教程,我在这里看到了这个页面:

如何制作一个小程序

在标题"小程序中的线程"下,我找到了这段代码:

   //Background task for loading images.
    SwingWorker worker = (new SwingWorker<ImageIcon[], Object>() {
            public ImageIcon[] doInBackground() {
                final ImageIcon[] innerImgs = new ImageIcon[nimgs];
            ...//Load all the images...
            return imgs;
        }
        public void done() {
            //Remove the "Loading images" label.
            animator.removeAll();
            loopslot = -1;
            try {
                imgs = get();
            } ...//Handle possible exceptions
        }

    }).execute();
}
Run Code Online (Sandbox Code Playgroud)

首先,我是新的,所以如果这是一个愚蠢的问题,我很抱歉.但是我从来没有听说过".excecute()".我不明白,我无法从谷歌找到任何关于它的东西.我看到这里是......一个匿名的内部阶级?(请纠正我),它正在启动一个加载图像的线程.我以为通过调用start()来调用run()方法?请帮我清除这种困惑.

java applet multithreading

6
推荐指数
1
解决办法
2万
查看次数

在Python中,我如何打开文件并在一行中读取它,然后仍然可以关闭文件?

在完成这个练习的过程中,我遇到了一个问题.

from sys import argv
from os.path import exists

script, from_file, to_file = argv
print "Copying from %s to %s" % (from_file, to_file)

# we could do these two on one line too, how?
input = open(from_file)
indata = input.read()

print "The input file is %d bytes long" % len(indata)
print "Does the output file exist? %r" % exists(to_file)
print "Ready, hit RETURN to continue, CTRL-C to abort."

raw_input()

output = open(to_file, 'w')
output.write(indata)
print "Alright, all done."
output.close()
input.close() …
Run Code Online (Sandbox Code Playgroud)

python

5
推荐指数
1
解决办法
6918
查看次数

如何解释这个Javascript语法

我在Javascript中查看了一些内容.当我进入call()函数时,我在mozilla js开发者页面上看了一遍:

句法:

fun.call(thisArg[, arg1[, arg2[, ...]]])
Run Code Online (Sandbox Code Playgroud)

我理解这个函数是做什么以及它是如何运作的,但究竟是什么语法试图说?为什么在那个括号后面有逗号?

[,

类似地,当我查找reduce()函数时,我理解它是如何工作的,但语法显示:

arr.reduce(callback[, initialValue])
Run Code Online (Sandbox Code Playgroud)

这不应该像arr.reduce(callback,initialvalue)那样吗?

作为一个菜鸟,语法让我相信回调是一个数组,它有一个空的第一个元素和一个名为initialValue的第二个元素.有什么地方我可以阅读这个语法,这是有道理的,或者某个人可以请给我一些清晰度?

编辑:还回调是指一个函数是吗?那么为什么回调[]而不是回调()呢?

javascript syntax

2
推荐指数
1
解决办法
39
查看次数

为什么[import java.awt.*]也不包含[import java.awt.event.ActionEvent]?

晚间,

我正在玩一个小摆动应用程序,我添加了一个响应被按下的按钮.因此我需要实现ActionListener.我已经添加了这一行:

import java.awt.*;
Run Code Online (Sandbox Code Playgroud)

但它告诉我它无法找到"ActionListener"类.过了一会儿,我最终得到了这个:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
Run Code Online (Sandbox Code Playgroud)

我假设awt.*部分意味着它是在awt伞下导入所有子包.显然事实并非如此.有人可以帮我解释一下这个问题吗?

java import

1
推荐指数
1
解决办法
2898
查看次数