我有這個問題,我的Label2被分配爲文本沒有出現在Jframe上,即使我添加了它。我假設我設置爲圖像的其他標籤疊加它?如果這是問題,我將如何去修復它?JLabel does not appear
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
public class Generator extends JFrame {
private static final long serialVersionUID = 1L;
/**
* Launch the application.
*/
public static void main(final String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
try {
final Generator frame = new Generator();
frame.setVisible(true);
} catch (final Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Generator() {
/*
* @Images/Text
*/
final ImageIcon icon = new ImageIcon("data/hover_a.png");
final JLabel label = new JLabel(icon);
final ImageIcon icon1 = new ImageIcon("data/background.png");
final JLabel label1 = new JLabel(icon1);
final ImageIcon img = new ImageIcon("data/icon.png");
final JLabel label2 = new JLabel("Test Text");
/*
* @Image/Text Bounds
*/
label.setBounds(24, 266, 240, 40);
label1.setBounds(0, 0, 289, 330);
label2.setBounds(0, 0, 80, 15);
/*
* @Image Hovers
*/
label.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(final MouseEvent evt) {
label.setIcon(new ImageIcon("data/hover_b.png"));
}
@Override
public void mouseExited(final MouseEvent evt) {
label.setIcon(new ImageIcon("data/hover_a.png"));
}
});
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setPreferredSize(new Dimension(295, 358));
setTitle("test");
getContentPane().setLayout(null);
setResizable(false);
setVisible(true);
setIconImage(img.getImage());
getContentPane().add(label);
getContentPane().add(label1);
getContentPane().add(label2);
pack();
}
}
「我現在假設其他我設置爲圖像的標籤與它重疊?「 - 是的。 「如果那是問題,我該如何解決它?」 - 使用合適的佈局管理器 – MadProgrammer 2012-07-30 01:41:00
感謝您的快速回復,我會看看其他佈局管理人員是否會徹底解決此問題。 – 0x29A 2012-07-30 01:51:16
'最終ImageIcon img =新ImageIcon(「data/icon.png」);'A'File'在部署時不適用於應用程序資源。 – 2012-07-30 23:47:51