【发布时间】:2016-06-08 08:32:48
【问题描述】:
我正在使用 NetBeans8 IDE。
这是来自 Fiddle 的 java 脚本函数
function animate() {
xnow = parseInt(item.style.left);
item.style.left = (xnow+1)+'px';
ynow = parseInt(item.style.top);
item.style.top = (ynow+Math.sin(2*Math.PI*(xnow/50))*10) + "px";
setTimeout(animate,20);
}
这里程序员使用java脚本创建s移动正弦波。
同样的想法,通过做一些细微的改变,我使用timer t创建了一个java程序。方程和上面的完全一样。但是我的jRadioButton会去一个无法控制的地方。
是否可以通过这种方法创建移动正弦波?
请帮我解决这个问题..提前谢谢。
这是我的一段java代码
Timer t = new Timer(10, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//AL1 is the name given to radiobutton
int xnow=AL1.getX()+1;
int ynow=AL1.getY();
ynow=(int) (ynow+Math.sin(2*Math.PI*(xnow/50))*10);
AL1.setLocation(xnow, ynow);
}
});
private void formWindowOpened(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
AL1.setLocation(0, 200);
t.start();
}
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(Lpne, javax.swing.GroupLayout.DEFAULT_SIZE, 1030, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(Lpne, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 551, Short.MAX_VALUE)
);
请尽量控制我的jRadioButton..
谢谢大家... 这是最终结果
【问题讨论】:
-
你把 AL1 放在哪里了?可能 Al1 的父级布局不支持基于笛卡尔坐标 (x, y) 像素的定位功能。
-
它只是我的
JRadiobutton的一个名字。显然它有.getX()和 'getY()` 方法。我还使用JRadiobutton和JLabel创建了一个模拟时钟跨度> -
我没有问 AL1 是什么。我问哪个对象包含AL1,我们称这个对象为AL1的父对象,AL1的父对象的布局类型是什么?
-
我现在将所有组件放在
jLayeredpane描述的布局部分上。我对我的问题进行了一些编辑,请查看 -
stackoverflow.com/questions/8758229/…,你能检查一下吗?,我现在不能测试它,但使 continer 的布局为空应该可以工作。但它应该是 Al1 的父级,我建议你只用空的 contentPane 测试它没有分层窗格,然后尝试在您的布局系统中实现。
标签: javascript java netbeans-8 wave trigonometry