class MyListListener implements ListSelectionListener {
public void valueChanged (ListSelectionEvent e) {
JList source = (JList) e.getSource();
// do something
}
}
JList myList = new JList (myModel);
myList.addListSelectionListener (new MyListListener());
Run Code Online (Sandbox Code Playgroud)
我做的很简单.我有一个JList.如果选择了列表中的项,则调用该处理程序.问题是当我从一个项目转到另一个项目时,处理程序被调用两次.如果第一个触发器传递原始选定项目,我可以看到使用,第二个触发器传递新项目.但是两次都传递了相同的新项目.那是什么意思?有没有办法阻止处理程序被调用两次?
我正在使用JTable.我需要在细胞选择改变时收到通知.我尝试使用ListSelectionListener但我只在行选择更改时才收到通知.如果我在同一行上选择一个新列,我就不会收到通知.我需要知道何时选择单元格,而不是更改单元格时.有没有我可以用来做这个的听众?
我需要绘制一个边界线为一种颜色的多边形,并用另一种颜色填充内部.是否有捷径可寻 ?我目前绘制两个多边形,一个用于内部颜色,一个用于边界.我认为必须做得更好.谢谢你的帮助.
glColor3d (1, 1., .7);
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
glBegin(GL_TRIANGLES);
glVertex3f(-0.8f, 0.0f, 0.0f);
glVertex3f(-0.6f, 0.0f, 0.0f);
glVertex3f(-0.7f, 0.2f, 0.0f);
glEnd();
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
glColor3d (.5, .5, .7);
glBegin(GL_TRIANGLES);
glVertex3f(-0.8f, 0.0f, 0.0f);
glVertex3f(-0.6f, 0.0f, 0.0f);
glVertex3f(-0.7f, 0.2f, 0.0f);
glEnd();
谢谢大家回答我的问题.我对openGL很新,并且正在寻找一个简单问题的简单答案.答案似乎并非如此简单,可能需要花费一个学期的学习时间.
是否有方法返回JTextField中字符的位置.我的意思是,如果我有一个带有一些值的JTextField.例如,该字段包含值ABCDEFJ.用户决定将光标放在字符"C"之后,以输入新值.有没有一种方法可以获得进入新角色的位置.在这个例子中,这将返回3.
我有一个动画太阳系的程序.该计划吸引太阳和一些轨道行星.我喜欢在背景中放置一个星云像素图,但我不知道该怎么做.我试过的似乎不起作用.这是我尝试过的.
1)使用glDrawPixels绘制像素图.通过这种方法,我能够绘制像素图,但它覆盖了太阳物体.我试图翻译像素图,但这也不起作用.
2)将GL_QUADS绘制为太阳物体后面的平面.这架飞机是一个很小的平行四边形.
据我所知,这可能只是完全错误的做法.如果有人能指出我正确的方向,我将不胜感激.这是方法#1的代码.
void
universe::createObj()
{
QPixmap map ("hst_orion_nebula.jpg");
glTexImage2D (GL_TEXTURE_2D,0, GL_LUMINANCE, map.width(), map.height(), 0,
GL_BGRA,GL_UNSIGNED_BYTE, map.convertToImage().bits());
callId = glGenLists(itemId::next());
glNewList(callId, GL_COMPILE);
glDrawPixels (map.width(), map.height(), GL_RGBA,
GL_UNSIGNED_BYTE, map.convertToImage().bits());
glEnable (GL_TEXTURE_2D);
glEndList();
}
void
universe::draw()
{
glPushMatrix();
glPushAttrib (GL_COLOR_BUFFER_BIT | GL_LIGHTING_BIT);
glCallList (callId);
glPopMatrix();
glPopAttrib();
}
/////////////////////////////////
void
sun::createObj()
{
QPixmap map ("sunmap.jpg");
glGenTextures (10, canvas::_instance->_texture);
glBindTexture(GL_TEXTURE_2D, canvas::_instance->_texture[0]);
glTexImage2D(GL_TEXTURE_2D,0, GL_LUMINANCE, map.width(), map.height(), 0,
GL_BGRA,GL_UNSIGNED_BYTE, map.convertToImage().bits());
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
callId … 我有一个非常简单的HTML和JavaScript.
<html>
<body>
<h1>Test function</h1>
<p>Hello</p>
<script>
function goodbye() {
document.write ("good bye");
}
goodbye();
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
结果显示Hello和good bye字符串.我将goodbye函数移动到它自己的文件"goodbye.js"所以我的第一个html现在看起来像这样
<html>
<body>
<h1>Test function</h1>
<p>Hello</p>
<script src='goodbye.js'>
goodbye();
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
现在,如果我再次运行html,它只显示Hello.我没想到的是.发生了什么 ?
我正在尝试使用spring AOP框架.编译时没有错误.当我试图运行它时,我得到了上述异常.我正在使用netbeans IDE 8.0.1.我包含以下库和jar文件.
1) Spring Framework 4.0.1
2) aspectjrt.jar
3) aspectjweaver.jar
4) aopalliance-alpha1.jar
5) asm-5.03.jar
6) cglib-3.1.jar
Run Code Online (Sandbox Code Playgroud)
这是我的spring.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
">
<aop:aspectj-autoproxy/>
<bean name="triangle" class="springaop.Triangle">
<property name="name" value="My Triangle" />
</bean>
<bean name="circle" class="springaop.Circle">
<property name="name" value="My Circle" />
</bean>
<bean name="shapeService" class="springaop.ShapeService" autowire="byName" >
</bean>
<bean name="loginAspect" class="springaop.LoginAspect" />
</beans>
Run Code Online (Sandbox Code Playgroud)
这些是每个发布者提供的最新jar文件.我没有在aopalliance jar中的任何地方看到Advice类.我搜索了这个问题.似乎Advice类可能已从aopalliance jar中删除.我一直无法搜索它.有谁知道如何解决这个问题,除了告诉我使用Maven :)?
我有一个简单的程序来使用深度测试.它没有按预期工作.程序绘制X,Y轴和原点附近的球体.如果我没有打开GL_DEPTH_TEST,则会在轴上绘制球体.如果我打开GL_DEPTH_TEST,轴将被绘制在我不期望的球体上.谁能告诉我我做错了什么?
void
glwid::initializeGL()
{
glClearColor (0.0f, 0.0f, 0.0f, 1.0f);
}
void
glwid::resizeGL(int width, int height)
{
glViewport( 0, 0, (GLint)width, (GLint)height );
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
gluPerspective ( 90, (GLint)width/ (GLint)height, 0.0, 200.0 );
glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
glEnable (GL_DEPTH_TEST);
}
void
glwid::paintGL()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode (GL_MODELVIEW);
glLoadIdentity();
gluLookAt (0, 0, 100, 0, 0, 0, 0, 1, 0);
//
// X axis
//
glBegin( GL_LINES );
qglColor( green );
glVertex3f (-100.0, 0, 0. );
glVertex3f (100.0, 0, 0. …Run Code Online (Sandbox Code Playgroud) 我的意思是假设
Enum xyzType {
A,
B,
C,
D
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过xyzType.C.ordinal()得到序数为C的值,假设我只有2,我会得到枚举类型C.我似乎找不到任何东西这样做的枚举API.我不希望有一个巨大的switch语句来比较每个序数值并返回枚举.这样做有好处吗?
我正在尝试运行一个简单的加密/解密程序.我得到一个填充异常.必须隐藏一些我不知道的东西.我基本上加密了一个字符串,将其写入文件,将其读回并解密.原始加密阵列解密没有问题.我将原始加密数组与从文件中读回的数组进行了比较,它们与我所看到的相同.文件中的缓冲区不起作用,因此必须有区别.我不知道该怎么办.
import java.security.*;
import java.security.spec.InvalidKeySpecException;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import java.io.*;
public class sample
{
private static String _algo = "AES";
private static byte[] _key = new byte[16];
public static byte[] encrypt (String val) throws Exception
{
Key key = new SecretKeySpec (_key, _algo);
Cipher c = Cipher.getInstance (_algo);
c.init (Cipher.ENCRYPT_MODE, key);
byte[] encode = c.doFinal (val.getBytes());
return encode;
}
public static String decrypt (byte[] val) throws Exception
{
Key key = new SecretKeySpec (_key, _algo);
Cipher c = Cipher.getInstance …Run Code Online (Sandbox Code Playgroud) java ×6
opengl ×3
swing ×3
c ×1
caret ×1
encryption ×1
javascript ×1
jlist ×1
jspinner ×1
jtable ×1
netbeans ×1
spring ×1
spring-aop ×1