私が言うなら、最後の2行目と3行目で
label.setText("x = ");
ラベルは完全に動いていますが、変更すると
label.setText("x = "+ x);
動かない。具体的には、変数xで移動しているときの JLabel の幅の位置を確認したいです。これに加えてlabel.setBounds(x,(getHeight()/2),300,300);
、ラベルのYバウンドをフレームサイズの半分に設定したのに、フレームの中央にないと言ったのはどれですか? 何か案が?
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JLabel;
import javax.swing.Timer;
import javax.swing.JFrame;
public class myTiemr {
public static void main(String args[])
{
TimeFrame frame = new TimeFrame();
}
}
class TimeFrame extends JFrame
{
private static final long serialVersionUID = 1L;
private int x = 0;
JLabel label = new JLabel("Here is my label");
public TimeFrame()
{
int d = 10;
setTitle("My Frame");
setSize(500,500);
this.setLocationRelativeTo(null);
add(label);
Timer time = new Timer(d,new TimerListener());
time.start();
setVisible(true);
}
class TimerListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(x>getWidth()){
x=-100;
}
x+=1;
label.setText("x = "+ x);
//label.setText("x = ");
label.setBounds(x,(getHeight()/2),300,300);
}
}
}