我写了一个GUI程序,我不确定我做错了什么.当我运行程序时,它几乎立即退出.希望你能帮忙,这是程序:
public class RandomGame extends JFrame {
private JTextField t1 = new JTextField();
private double t1num = Double.parseDouble(t1.getText());
public RandomGame() {
setLayout(new FlowLayout());
Event1 e1 = new Event1();
t1.addKeyListener(e1);
add(t1);
}
public class Event1 implements KeyListener {
@Override
public void keyPressed(KeyEvent arg0) {
Random r = new Random();
switch (arg0.getKeyCode()) {
case KeyEvent.VK_ENTER:
if(t1num == r.nextInt()) {
t1.setText("You Won!");
}
else {
t1.setText("You Lost.");
}
}
}
@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override …
Run Code Online (Sandbox Code Playgroud) 有人告诉我,一张脸的法线是“垂直于该脸的矢量”,但在尝试绘制3D形状时仍然看不到它。有人可以给我更清晰的解释,还是(甚至更好)一个图表?令我感到困惑的代码块是对的调用glNormal3f(x, y, z)
。
我使用 JFrame 用 java 制作了一个计算器,除了除法外,一切正常。这是计算答案并显示它的代码位:
public void actionPerformed(ActionEvent e) {
try {
num1 = Double.parseDouble(resultl.getText());
num2 = Double.parseDouble(resultl.getText());
if (oper.equals("+")) {
answer = num1 + num2;
resultm.setText("" + answer);
resultl.setText("");
resultr.setText("");
oper = "";
currentNuml = "";
currentNumr = "";
} else if (oper.equals("-")) {
answer = num1 - num2;
resultm.setText("" + answer);
resultl.setText("");
resultr.setText("");
oper = "";
currentNuml = "";
currentNumr = "";
} else if (oper.equals("*")) {
answer = num1 * num2;
resultm.setText("" + answer);
resultl.setText("");
resultr.setText("");
oper …
Run Code Online (Sandbox Code Playgroud) 我已经将PyDev安装到Eclipse中,当我在.py文件中执行print方法时,因为print "Hello World"
它不起作用.但后来我做了print ("Hello World")
,它有效.我在互联网上查看,所有内容都说没有括号,但它不起作用,并给出了错误:
SyntaxError:语法无效
这是因为我有一个旧的或新版本的python?任何帮助,将不胜感激.
我刚刚从 videotutorialsrock.com 上做了一个关于 C++ OpenGL 照明的教程。我了解环境光,但不了解定位光和直射光之间的区别,因为两者的想法和代码看起来非常相似。这是我的定位光代码:
//Add positioned light
GLfloat lightColor0[] = {.6, .6, .6, 1};
GLfloat lightPos0[] = {4, 0, 8, 1};
glLightfv(GL_LIGHT0, GL_DIFFUSE, lightColor0);
glLightfv(GL_LIGHT0, GL_POSITION, lightPos0);
Run Code Online (Sandbox Code Playgroud)
对于定向光:
//Add direct light
GLfloat lightColor1[] = {.5, .2, .2, 1};
GLfloat lightPos1[] = {-1, .5, .5, 0};
glLightfv(GL_LIGHT1, GL_DIFFUSE, lightColor1);
glLightfv(GL_LIGHT1, GL_POSITION, lightPos1);
Run Code Online (Sandbox Code Playgroud)
有人能解释一下吗?
我在C++中关注OpenGL的xoax.net教程,并且我坚持使用for循环在US标志中绘制条纹.我只是得到一个蓝色的屏幕(因为我将背景颜色设置为蓝色).这是'DrawStripes'函数的代码:
void DrawStripes() {
for (int x = 0; x < 13; ++x) {
if (x % 2 == 0) {
glColor3f(204/255, 0, 0);
} else {
glColor3f(1, 1, 1);
}
float fStartX = 0;
float fEndX = 1;
float fStartY = x * (1/13);
float fEndY = (x + 1) * (1/13);
if (x > 5) {
fStartX = .76/1.9;
}
glBegin(GL_QUADS);
glVertex3f(fStartX, fStartY, 0);
glVertex3f(fEndX, fStartY, 0);
glVertex3f(fEndX, fEndY, 0);
glVertex3f(fStartX, fEndY, 0);
glEnd();
}
}
Run Code Online (Sandbox Code Playgroud)
(我把这个函数放在'draw'函数中,所以我不是告诉它使用这个函数)任何想法?
---编辑---这是'Draw'和'Initialize'函数: …