Tag: java

多个弹跳球螺纹问题

我创建了一个程序,可以生成多个具有随机颜色,速度和半径的弹跳球。 当用户点击屏幕时,应出现一个新的随机球并在屏幕上移动。 但我有一个multithreading问题。 当我点击屏幕时,会出现一个球并且根本不会移动。 当另一次点击没有任何反应时。 BouncingBalls Class public class BouncingBalls extends JPanel implements MouseListener{ private Ball ball; protected List balls = new ArrayList(20); private Container container; private DrawCanvas canvas; private int canvasWidth; private int canvasHeight; public static final int UPDATE_RATE = 30; int x = random(480); int y = random(480); int speedX = random(30); int […]

你怎么玩一个长的AudioClip?

我写了一个简单的类来在一个简单的游戏中播放音频文件。 它适用于枪声或爆炸等小声音,但当我尝试将它用于背景音乐时,我收到此错误:“无法分配剪辑数据:请求的缓冲区太大。” 我假设这意味着文件太大,但我怎么能解决这个问题呢? 资源: import java.io.File; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Clip; public class Sound{ private Clip clip; public Sound(String filepath){ System.out.println(filepath); File file = new File(filepath); try { clip = AudioSystem.getClip(); AudioInputStream inputStream = AudioSystem.getAudioInputStream(file); clip.open(inputStream); } catch (Exception e) { System.err.println(e.getMessage()); } } public void play(){ System.out.println(“play”); if(clip.isActive()){ clip.stop(); } clip.setFramePosition(0); clip.start(); } […]

个别且不连续的JTable的小区选择

是否有任何干净的方法允许用户选择JTable的多个非连续单元格? 或者我被迫实现自己的ListSelectionModel? 我在JTable上使用setCellSelectionEnabled()和setSelectionModel()方法,但我只能选择连续单元组。 编辑: 我试过@mKorbel不错的SSCCE。 它适用于列表,但似乎没有完全在表上工作。 这是一个SSCCE: import java.awt.Component; import java.awt.event.InputEvent; import java.awt.event.MouseEvent; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; public class TableSelection extends JFrame{ String[] columnNames = {“First Name”, “Last Name”, “Sport”, “# of Years”, “Vegetarian”}; Object[][] data = { {“Kathy”, “Smith”, “Snowboarding”, new Integer(5), new Boolean(false)}, {“John”, “Doe”, “Rowing”, new Integer(3), new […]

在java中操作和比较浮点数

在Java中,没有精确表示浮点运算。 例如这个java代码: float a = 1.2; float b= 3.0; float c = a * b; if(c == 3.6){ System.out.println(“c is 3.6”); } else { System.out.println(“c is not 3.6”); } 打印“c不是3.6”。 我对超过3位小数的精度感兴趣(#。###)。 我如何处理这个问题来乘以浮点数并可靠地比较它们?

替代ui:JSF中的片段

我正在搜索一种支持的方式来渲染JSF中的一段代码,我通常使用这种方法: 由于ui:fragment不支持渲染大部分IDE(如netbeans将其标记为错误但是它可以工作,因为在JSF参数中是inheritance的。 解决此问题的一种方法是使用另一种结构(例如,如果您使用SEAM) …. 另一种方法是在所有内部内容中设置渲染,如下所示: 但我不喜欢这种方式,因为你必须将渲染添加到每个元素。 另一种方法是使用但是c:如果从JSF树中删除元素而不是你总是想要做什么,特别是如果你使用AJAX。 所以你们有另一种解决方案吗?

在JFreeChart XYPLot中更改单点的形状

我正在使用JFreeChart XYPLot绘制具有不同标签的XYData集。 我为不同的标签创建了不同的XYSeries对象,这样我就可以为不同的标签设置不同的颜色。 现在我需要更改每个XYDataSeries中特定点(测试数据)的形状,如下所示 。 在上面的绘图中,有两种不同的XYSeries,蓝色和红色。 在这两个中,我需要将某些点(测试数据)的形状更改为X而不是圆形。 是否有可能在JFreeChart。 这篇文章解释了如何为整个数据集做到这一点,但我想只改变特定点 下面是我到目前为止编写的代码 public static Map createXYSeries(Data[] dataSet){ Map xySeries = new HashMap(); for(Data data : dataSet){ if(xySeries.get(data.actualLabel) == null){ xySeries.put(data.actualLabel, new XYSeries(data.actualLabel)); } xySeries.get(data.actualLabel).add(data.dimensionValues[0],data.dimensionValues[1]); } return xySeries; } public XYDataset createXYSeriesCollection(Map plottingDataSet) { XYSeriesCollection xySeriesCollection = new XYSeriesCollection(); for (String key : plottingDataSet.keySet()) { xySeriesCollection.addSeries(plottingDataSet.get(key)); } return […]

如何保存程序的状态然后加载它?

我正在尝试保存并重新加载我的Swing程序的状态,在这种情况下是一个扫雷游戏。 我的董事会代码如下。 package mines; import java.awt.Graphics; import java.awt.Image; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.Random; import javax.swing.BorderFactory; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JPanel; public class Board extends JPanel { public static void main (String[] args) {} private final int NUM_IMAGES = 13; private final int CELL_SIZE = 15; private final int COVER_FOR_CELL = 10; private final […]

JAXB编组XMPP节

我正在尝试使用以下代码段来编组消息: JAXBContext jContext = JAXBContext.newInstance(Iq.class); Marshaller m = newJAXBContext.createMarshaller(); m.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE); m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); Bind bind = new Bind(); bind.setResource(“resource”); Iq iq = new Iq(); iq.setId(iqId); iq.setType(“set”); iq.getAnies().add(bind); ByteArrayOutputStream baos = new ByteArrayOutputStream(); m.marshal(iq, baos); 这里,Iq和Bind是由相关xmpp模式形成的对象。 我的问题是,使用jaxb 2.0及更高版本,所有命名空间都在根元素中声明: resource 但是,这里需要的是命名空间应该占用适当的位置: resource 有没有办法通过JAXB 2.0或更高版本在第二个xml节中看到它们来编组xmpp节? 长话短说,我在这里有两个问题:1。在适当的位置声明命名空间。 2.删除我理解的命名空间前缀可以使用NamespacePrefixMapper删除? 但不确定,一个例子会很棒。

如何配置Tomcat以连接MySQL

有人可以提供一些关于如何配置Tomcat来访问MySQL的细节吗? 我在Tomcat中的哪个目录下放置mysql-connector-java-5.1.13-bin ? 我应该将它放在Tomcat 6.0\webapps\myapp\WEB-INF\lib吗? 我是否需要将配置添加到context.xml或server.xml ? 我应该创建一个web.xml文件并将其放在Tomcat 6.0\webapps\myapp\WEB-INF吗? 如果是这样,那么这个文件的内容应该是什么样的?

Java EE规范和multithreading

我正在使用Struts和Spring编写Java EE应用程序。 在其中一个操作中,存在大量数据库处理,因此存在性能问题。 我想知道的是我可以在这里使用multithreading吗? 我认为Java EE规范不允许创建自定义线程,而不是由Server创建的线程(我使用Weblogic)。 请指导我完成这个。