Хорошо, так что эта программа должна отображать Jlabel и перемещать его по экрану, я могу заставить метку отображаться, но не двигаться. Любая помощь будет высоко ценится.
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class A4_NameMove extends JFrame
{
JLabel label;
public A4_NameMove()
{
label = new JLabel(("ABCDEFG"));
label.setBounds(300,300,200,50);
label.setFont(new Font("Verdana",Font.BOLD,30));
label.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent ke) {
if(ke.getKeyCode() ==40){
label.setLocation(label.getX(),label.getY()+100);
// label.setBounds(label.getX(),label.getY()+50,200,50);
// repaint();
}
if(ke.getKeyCode() == 38){
label.setLocation(label.getX(),label.getY()-100);
// label.setBounds(label.getX(),label.getY()-50,200,50);
//repaint();
}
if(ke.getKeyCode() == 37)
{
label.setLocation(label.getX()-100,label.getY());
//label.setBounds(label.getX()-50,label.getY(),200,50);
//repaint();
}
if(ke.getKeyCode() == 39)
{
label.setLocation(label.getX()+100,label.getY());
// label.setBounds(label.getX()+50,label.getY(),200,50);
// repaint();
}
}
});
label.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent me)
{
if(me.getClickCount() == 1)
{
/*boolean dd = label.isOptimizedDrawingEnabled();
boolean ff = label.requestFocusInWindow();
repaint();*/
}
}
});
JPanel p = new JPanel();
p.setPreferredSize(new Dimension(600,600));
p.setLayout(null);
p.add(label);
JScrollPane js = new JScrollPane(p);
getContentPane().add(js);
}
public static void main(String args[])
{
A4_NameMove frame = new A4_NameMove();
frame.setDefaultCloseOperation( EXIT_ON_CLOSE );
frame.setSize(700,700);
frame.setVisible(true);
}
}
Любые предложения, я закомментировал некоторый код, где я пытался найти решение, но безрезультатно.