小编tad*_*ole的帖子

ListSelectionListener被调用两次

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.如果选择了列表中的项,则调用该处理程序.问题是当我从一个项目转到另一个项目时,处理程序被调用两次.如果第一个触发器传递原始选定项目,我可以看到使用,第二个触发器传递新项目.但是两次都传递了相同的新项目.那是什么意思?有没有办法阻止处理程序被调用两次?

java swing jlist listselectionlistener

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

JTable单元监听器?

我正在使用JTable.我需要在细胞选择改变时收到通知.我尝试使用ListSelectionListener但我只在行选择更改时才收到通知.如果我在同一行上选择一个新列,我就不会收到通知.我需要知道何时选择单元格,而不是更改单元格时.有没有我可以用来做这个的听众?

java swing jtable listselectionlistener

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

如何用不同于边界的颜色填充多边形?

我需要绘制一个边界线为一种颜色的多边形,并用另一种颜色填充内部.是否有捷径可寻 ?我目前绘制两个多边形,一个用于内部颜色,一个用于边界.我认为必须做得更好.谢谢你的帮助.

       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很新,并且正在寻找一个简单问题的简单答案.答案似乎并非如此简单,可能需要花费一个学期的学习时间.

c opengl

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

在JTextField中查找光标文本位置

是否有方法返回JTextField中字符的位置.我的意思是,如果我有一个带有一些值的JTextField.例如,该字段包含值ABCDEFJ.用户决定将光标放在字符"C"之后,以输入新值.有没有一种方法可以获得进入新角色的位置.在这个例子中,这将返回3.

java swing caret jspinner

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

如何在openGL中绘制背景

我有一个动画太阳系的程序.该计划吸引太阳和一些轨道行星.我喜欢在背景中放置一个星云像素图,但我不知道该怎么做.我试过的似乎不起作用.这是我尝试过的.

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 …

opengl

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

我违反了一些javascript规则吗?

我有一个非常简单的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.我没想到的是.发生了什么 ?

javascript

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

如何解决java.lang.NoClassDefFoundError:org/aopalliance/aop/Advice error?

我正在尝试使用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 :)?

java spring netbeans spring-aop

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

OpenGL深度测试无法按预期工作

我有一个简单的程序来使用深度测试.它没有按预期工作.程序绘制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)

opengl

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

有没有办法从枚举值中获取枚举类型?

我的意思是假设

Enum xyzType {

    A,
    B,
    C,
    D
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过xyzType.C.ordinal()得到序数为C的值,假设我只有2,我会得到枚举类型C.我似乎找不到任何东西这样做的枚举API.我不希望有一个巨大的switch语句来比较每个序数值并返回枚举.这样做有好处吗?

java

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

javax.crypto.BadPaddingException:错误

我正在尝试运行一个简单的加密/解密程序.我得到一个填充异常.必须隐藏一些我不知道的东西.我基本上加密了一个字符串,将其写入文件,将其读回并解密.原始加密阵列解密没有问题.我将原始加密数组与从文件中读回的数组进行了比较,它们与我所看到的相同.文件中的缓冲区不起作用,因此必须有区别.我不知道该怎么办.

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 encryption

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