在Android上的OpenGL Sphere上绑定video纹理

我正试图在Android上创建一个360video领域 (就像纸板一样)。 我通过在OpenGL ES1.0中渲染一个球体而不是将纹理附加到它来拍摄照片。 之后我可以使用传感器值来旋转球体。 但是,我无法弄清楚如何将图片更改为video 。 我已经尝试使用texSubImage2D()逐帧渲染,但它是超级慢。 我的video可能大约是4k密度,因为我需要一个好的质量,即使它只显示了一小部分。 我已经阅读了一些关于应该如何完成的理论知识(即帧缓冲区,外部纹理,同步等),但我找不到这些东西的任何示例 ,因此一些代码将非常受欢迎 … 这是我如何渲染球体,绘制它并附加纹理(即我的球体类)… import rapid.decoder.BitmapDecoder; public class Sphere { /** Buffer holding the vertices. */ private final List mVertexBuffer = new ArrayList(); /** The vertices for the sphere. */ private final List mVertices = new ArrayList(); /** Buffer holding the texture coordinates. */ private final […]

JPopupMenu行为

我在下面准备了一个小测试用例。 我的问题是当我右键单击窗口时。 JPopupMenu出现但如果我点击JWindow菜单外的任何地方都不会消失。 我必须单击窗口上的某个位置来摆脱它,这不是预期的行为。 编辑:在阅读akf的答案后,我切换到JFrame,当帧处于焦点并且弹出菜单显示时,当您单击另一个窗口时它会消失。 但如果窗口没有焦点,你单击某处菜单不会消失。 import javax.swing.*; import java.awt.*; import java.awt.event.*; class test { static class window extends JWindow implements MouseListener, MouseMotionListener{ JPopupMenu popMenu; JPanel panel = new JPanel(); Point location; MouseEvent pressed; public window(){ addMouseListener( this ); addMouseMotionListener( this ); JLabel label = new JLabel(“JWindow”, JLabel.CENTER); initPopMenu(); add(label); setVisible(true); setAlwaysOnTop(true); setLocationRelativeTo(null); pack(); } […]

运行时exception无法启动MainActivity

我正在尝试使用Android 4.2购买的新手机上测试我的Android应用。 它运行我测试的每个其他应用程序,这个特定的应用程序也适用于其他设备。 当我尝试运行代码时,它给了我以下错误: > 02-23 12:15:08.532: E/AndroidRuntime(5431): FATAL EXCEPTION: main 02-23 12:15:08.532: E/AndroidRuntime(5431): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.antiquity/com.example.antiquity.MainActivity}: java.lang.NullPointerException 02-23 12:15:08.532: E/AndroidRuntime(5431): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2343) 02-23 12:15:08.532: E/AndroidRuntime(5431): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2395) 02-23 12:15:08.532: E/AndroidRuntime(5431): at android.app.ActivityThread.access$600(ActivityThread.java:162) 02-23 12:15:08.532: E/AndroidRuntime(5431): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364) 02-23 12:15:08.532: E/AndroidRuntime(5431): at android.os.Handler.dispatchMessage(Handler.java:107) 02-23 12:15:08.532: E/AndroidRuntime(5431): at android.os.Looper.loop(Looper.java:194) 02-23 12:15:08.532: E/AndroidRuntime(5431): at […]

在Java中使用LDAP的最简单方法(Eclipse)

我目前正在开发一个小项目,我必须在Eclipse中使用LDAP(用于Active-Directory访问)。 我想获取用户名,创建新用户,删除用户。 我以前从未使用过LDAP,而且在找到一个很好解释的分步教程时遇到了一些困难。 此外,似乎每个教程似乎都使用不同的API(OpenLDAP,Apache Directory,UnboundID,Spring Framework等),这让我很困惑。 我应该使用哪种API? 如果您对如何开始使用LDAP有一些提示,我将非常感激。

找不到Java JNA sendMessage()

我正在尝试使用JNA (概述)在最小化时将消息发送到应用程序或不在顶部(例如鼠标单击),并且我发现人们正在使用com.sun.jna.platform.win32.User32。 SendMessage A(hW,0x0201,0,0); 但我在这堂课中找不到这个function。 如果我做错了,有人可以给我一个如何实现它的例子吗? 码: User32 user32; Pointer hW = user32.GetForegroundWindow().getPointer(); user32.SendMessageA( hW, 0x0201, 0, 0 );

从jButton获取文本值

所以我需要简单地检查点击按钮的文本是”X”还是”O” (制作tic tac toe)此代码不起作用: if (jButton1.getText()==”X”) 但是,以下代码确实有效: String jButText = jButton1.getText(); if (jButText==”X”) 为什么第二个代码不能在第二个代码工作时起作用? 是否需要更像if( jButton1.getText().toString==”X” )? 顺便说一句,我不认为toString存在于Java中。 这在Visual Basic中有点相同,这是我通常用来创建GUI的东西。

JPA内存管理问题

首先,一点背景。 我正在研究从SQL Server中提取数据的管理软件。 我正在使用JPA创建表的Entity实例以便在管理软件中进行操作(我现在只使用JPA几天)。 作为测试,我将下面的代码汇总在一起,以测试存储多少内存将占用最丰富的表(PeriodicalTable)的对象,这些表有18,500行(或大约有)并且只能增长; public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory(“PersistenceDemoPU”); EntityManager em = emf.createEntityManager(); Query query = em.createQuery(“SELECT p FROM PeriodicalTable p”); //query.setMaxResults(7000); List results = query.getResultList(); PeriodicalTable storedPlayer; for (int i = 0; i < results.size(); i++){ storedPlayer = results.get(i); System.out.println(storedPlayer.toString()); if (i == (results.size()-1)){System.out.println("Total results: "+(i+1)); } } […]

如何检查图像大小小于100kb android

我试图从图库中获取图像并在ImageView上设置它,听到我很好,并在ImageView上设置图像,但现在我想检查kb中所选图像的图像大小,所以我设置了图像上传的validation。 请有人建议我如何检查选择的图像尺寸是否小于100kb ?,听到我的图像选择和设置它的代码。 选择图像使用Intent Intent iv = new Intent( Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(iv, RESULT_LOAD_IMAGE); 并获取图像结果代码.. @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) { Uri selectedImage = data.getData(); String[] filePathColumn = { MediaStore.Images.Media.DATA }; Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, […]

用于匹配文件中hex数的Java Regex

所以我正在读一个文件(如java程序<trace.dat),它看起来像这样: 58 68 58 68 40 c 40 48 FA 如果我很幸运,但更常见的是每行前后都有几个空白字符。 这些是hex地址,我正在解析,我基本上需要确保我可以使用扫描仪,缓冲读取器…任何东西,并确保我可以然后将hex转换为整数。 这是我到目前为止: Scanner scanner = new Scanner(System.in); int address; String binary; Pattern pattern = Pattern.compile(“^\\s*[0-9A-Fa-f]*\\s*$”, Pattern.CASE_INSENSITIVE); while(scanner.hasNextLine()) { address = Integer.parseInt(scanner.next(pattern), 16); binary = Integer.toBinaryString(address); //Do lots of other stuff here } //DO MORE STUFF HERE… 所以我已经将我的所有错误都追溯到解析输入和东西所以我想我只是想弄清楚我需要什么样的正则表达式或方法来让我按照我想要的方式工作。

更多摆动设计和动作

我对gui编程很新,所以我一直在阅读这个网站上有关摇摆和设计的每个post。 一遍又一遍地回答的是,人们应该为这些行动设置多级课程。 像这样:( GUI是一些JFrame ) 替代文字http://img341.imageshack.us/img341/255/skjermdump.png 现在,这对单向操作很有用,比如OpenDialog。 但是DialogA和B按钮的操作必须能够访问其对话框和controller所有组件(将会有很多组件)。 这就是我陷入困境的地方。 我能看到的唯一理智的方法是把它放在DialogA/B 但我需要将controller一直向下传递,通过甚至不需要它的类,它会得到所有的意大利面条。 真的不想要那个。 以前有人肯定遇到过这个问题。 那么我应该把这个Action放在哪里? 或者我应该放弃整个设计? 编辑:从别处得到了一个很好的答案。 解决。