很抱歉,如果代码不整齐。但无论如何,我是一个混乱的代码编写者O-O。我需要知道为什么当我这样做时,JLabel文本不会弹出。我怎样才能让文字弹出你。
Frame.java
package rpg.tec;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Frame extends JFrame {
private static final long serialVersionUID = 1L;
//Speed of car
int speed = 3;
ImageIcon image = new ImageIcon("C:\\Users\\elliotbewey\\Desktop\\DarkArcaneIMGS\\download.png");
JLabel location = new JLabel("Hello");
JLabel imageLabel = new JLabel(image);
public void run() {
setLayout(null);
imageLabel.setBounds(10, 10, 400, 400);
imageLabel.setVisible(true);
imageLabel.setLayout(null);
location.setVisible(true);
location.setText("Hello");
add(imageLabel);
add(location);
int loc = 1;
for(int i = 0; i< 500; i++) {
try {
//sending the actual Thread of execution to sleep X milliseconds
Thread.sleep(50);
} catch(InterruptedException ie) {}
loc = loc + speed;
imageLabel.setLocation(loc, 0);
location.setLocation(2, 10);
add(location);
}
}
void messy() {
}
}
Main.java
package rpg.main;
import java.awt.FlowLayout;
import java.awt.GridBagLayout;
import javax.swing.JFrame;
import rpg.tec.Frame;
public class Main {
public static void main(String[] args) {
Frame frame = new Frame();
String Version = "0.0.1";
frame.setTitle(Version);
frame.setVisible(true);
frame.setSize(600, 450);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.run();
}
}
没有错误发生
结果是什么,没有错误。只是没有文字显示我们在屏幕上有一辆移动的汽车,但没有文字。我该如何解决?如何使文本显示(JLabel)你好?
答案 0 :(得分:0)
首先,你为什么要:
location.setLocation(2, 10);
add(location);
在你的for循环中?没有值正在改变。 (除非你还在努力)
其次,您需要为JLabel设置setBounds以使其显示。我只是说:
location.setBounds(100,100,100,100);
它出现了。
如果您更改
location.setLocation(2, 10);
在第一部分
location.setLocation(loc, 10);
JLabel会搬家。