我正在玩JME3,目前面临以下问题:

当LWJGL画布包含在多个应用程序选项卡中时,它们都不会或仅运行一次.

这是一个例子:

SwingCanvas.java:

package jme3test.helloworld;

import java.awt.Dimension;

import javax.swing.JFrame;

import com.jme3.app.SimpleApplication;

import com.jme3.material.Material;

import com.jme3.math.ColorRGBA;

import com.jme3.scene.Geometry;

import com.jme3.scene.shape.Box;

import com.jme3.system.AppSettings;

import com.jme3.system.JmeCanvasContext;

public class SwingCanvas extends SimpleApplication {

private void SwingCanvasTest() {

SwingCanvas app = new SwingCanvas();

app.start();

}

@Override

public void simpleInitApp() {

// activate windowed input behaviour

flyCam.setDragToRotate(true);

Box box = new Box(2, 2, 2);

Geometry geom = new Geometry("Box", box);

Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");

mat.setColor("Color", ColorRGBA.Blue);

geom.setMaterial(mat);

rootNode.attachChild(geom); // make the cube appear in the scene

}

public JmeCanvasContext createJMEcanvas(){

AppSettings settings = new AppSettings(true);

settings.setWidth(640);

settings.setHeight(480);

this.setSettings(settings);

this.createCanvas(); // create canvas!

JmeCanvasContext ctx = (JmeCanvasContext) this.getContext();

ctx.setSystemListener(this);

Dimension dim = new Dimension(640, 480);

ctx.getCanvas().setPreferredSize(dim);

return ctx;

}

public static void main(String[] args) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

SwingCanvas canvasApplication = new SwingCanvas();

JFrame window = new JFrame("Swing Application");

window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

window.add(canvasApplication.createJMEcanvas().getCanvas());

window.pack();

window.setVisible(true);

canvasApplication.start();

}

});

}

}

SwingApplicationJME.java:

package jme3test.helloworld;

import java.awt.BorderLayout;

import javax.swing.JButton;

import javax.swing.JComponent;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JSplitPane;

import javax.swing.JTabbedPane;

import javax.swing.SwingUtilities;

import com.jme3.system.JmeCanvasContext;

public class SwingApplicationJME {

public SwingApplicationJME(){

JFrame frame = new JFrame("JME Swing Application");

frame.setSize(800, 600);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.add(getLayout());

frame.setVisible(true);

}

private JComponent getLayout(){

JTabbedPane tabbedPane = new JTabbedPane();

SwingCanvas canvas1 = new SwingCanvas();

SwingCanvas canvas2 = new SwingCanvas();

SwingCanvas canvas3 = new SwingCanvas();

JmeCanvasContext ctx1 = canvas1.createJMEcanvas();

JmeCanvasContext ctx2 = canvas2.createJMEcanvas();

JmeCanvasContext ctx3 = canvas3.createJMEcanvas();

JPanel JME_panel_1 = new JPanel(new BorderLayout());

JME_panel_1.add(new JButton("WEST"), BorderLayout.WEST);

JME_panel_1.add(new JButton("NORTH"), BorderLayout.NORTH);

JME_panel_1.add(new JButton("EAST"), BorderLayout.EAST);

JME_panel_1.add(new JButton("SOUTH"), BorderLayout.SOUTH);

JME_panel_1.add(ctx1.getCanvas(), BorderLayout.CENTER);

JPanel JME_panel_2 = new JPanel();

JSplitPane splitPaneVertical = new JSplitPane(JSplitPane.VERTICAL_SPLIT);

splitPaneVertical.add(new JButton("Vertical Button"), JSplitPane.LEFT);

splitPaneVertical.add(ctx2.getCanvas(), JSplitPane.RIGHT);

JME_panel_2.add(splitPaneVertical);

JPanel JME_panel_3 = new JPanel();

JSplitPane splitPaneHorizontal = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);

splitPaneHorizontal.add(new JButton("Horizontal Button"), JSplitPane.TOP);

splitPaneHorizontal.add(ctx3.getCanvas(), JSplitPane.BOTTOM);

JME_panel_3.add(splitPaneHorizontal);

tabbedPane.add(JME_panel_1, "JME border panel");

tabbedPane.add(JME_panel_2, "JME vetical split panel");

tabbedPane.add(JME_panel_3, "JME horizontal split panel");

return tabbedPane;

}

public static void main(String [] s){

SwingUtilities.invokeLater(new Runnable() {

@Override

public void run() {

SwingApplicationJME app = new SwingApplicationJME();

}

});

}

}

任何想法请=)

java窗体jmeun刷新,java – JME 3 Swing,多幅画布相关推荐

  1. Java窗体图书管理系统Java图书借阅管理系统(图书借阅系统)

    Java窗体图书管理系统Java图书借阅管理系统(图书借阅系统)

  2. java 窗体添加背景图片_Java Swing实现窗体添加背景图片的2种方法详解

    本文实例讲述了java Swing实现窗体添加背景图片的2种方法.分享给大家供大家参考,具体如下: 在美化程序时,常常需要在窗体上添加背景图片.通过搜索和测试,发现了2种有效方式.下面分别介绍. 1. ...

  3. idea的Java窗体可视化工具Swing UI Designer的简单使用(一)

    0.问题总结 Warning:java: 源值1.5已过时, 将在未来所有发行版中删除: Error:java: Compilation failed: internal java compiler ...

  4. Java窗体实现飞机躲子弹游戏,java awt swing 飞机躲子弹

    [实例简介] [实例截图] [核心代码] package com.plane.game; import javax.swing.JComboBox; import javax.swing.JFrame ...

  5. Java窗体应用程序:人事管理系统

    老师布置了第二个JAVA作业,让写人事管理系统. 代码思路参考自:清华大学出版设出版的<Java课程设计案例精编(第3版)> 作业是老师在十月一日哦放假前让写的,所以十一回家写了俩界面,然 ...

  6. java窗体添加背景图片_Java项目实战之实战之天天酷跑(四):游戏主界面

    接上文,本文将实现游戏主界面,功能如下: 移动的背景图片.动态的玩家.玩家的移动功能.五种障碍物持续出现.玩家和障碍物的碰撞.暂停.继续功能. 首先,看一下整体效果: 动图实在太大,几秒钟的 Gif ...

  7. java 窗体 源码_Java制作MDI窗体源代码

    由于实际需要做一个MDI窗体,百度里面找到一个不错的源代码给大家分享一下. import javax.swing.*; import java.awt.event.*; import java.awt ...

  8. Java进阶篇(六)——Swing程序设计(上),java面试题,java基础笔试题,BAT

    写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. Sw ...

  9. 【java毕业设计】基于java+swing+Eclipse的推箱子游戏设计与实现(毕业论文+程序源码)——推箱子游戏

    基于java+swing+Eclipse的推箱子游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+swing+Eclipse的推箱子游戏设计与实现,文章末尾附有本毕业设计的论文 ...

最新文章

  1. 连接两个点云中的字段或数据形成新点云以及Opennni Grabber初识
  2. 为什么“不懂数据结构与算法”的程序员一定走不远?
  3. rsyslog服务日志报错分析1
  4. tp5.1的安装与运行流程
  5. 【机器学习算法专题(蓄力计划)】二十、实操代码MNIST 数据集
  6. 【ExtJS】FormPanel 布局(一)
  7. 浙江嘉兴“网事”再添国字招牌 领跑城市智慧转型
  8. HTML5网站大观:分享8个精美的 HTML5 网站案例
  9. 图像的连通域标记算法及工具介绍
  10. 独家专访 | “共同基金之父”纽伯格的公司(NeubergerBerman)要在中国做什么?
  11. php 字体设计,时尚前沿:15个创意的3D字体设计艺术作品欣赏
  12. 【MM模块】Inventory Management(IM)库存管理简介
  13. 运维工程师绩效考核表_IT运维绩效考核表
  14. Android 10.0 recovery prompt_and_wait 跳过弹窗 自动 WIPE_DATA(出厂设置)
  15. python词云生成
  16. 【自制小工具】快速批量查询IP归属地(自动去重、按国内外汇总,并智能识别出错误IP)
  17. lzx: ssh: connect to host lzx port 22: Connection timed out-------hadoop
  18. Windows下访问Ubuntu虚拟机中的Samba服务器遇到“\\192.168.71.128无法访问,您可能没有权限访问网络资源。请与这台服务器的管理员联系以查明您是否有访问权”的问题
  19. scrapy爬取昵图网图片
  20. less 和 sass 配置

热门文章

  1. win11系统电脑打开桌面便签小工具的操作方法
  2. 通用键盘鼠标模拟(包括USB和PS2)
  3. edui 富文本编辑_终于我还是输给了免费富文本编辑器
  4. hulu技术宣讲|西安电子科技大学专场
  5. 人气爆棚!让我瞧瞧谁家展位这么6?
  6. oracle 11g从DBF文件恢复数据
  7. 产品概念之3/4:五层次理论 —— 消费者体验视角的产品概念
  8. 北京极简智能科技有限公司正式加入信创运维工作组
  9. c语言结构体冒泡排序,c语言结构体冒泡排序求教
  10. chrome 浏览器开发者工具之网络面板