how*_*kes -1 java swing jframe
我已经阅读了几个教程,并想知道为什么我的JLabel没有生成图像?我以为我应该尽可能地显示图像.我的程序中的其他图形是否可能会干扰?是否有任何自上而下的图层系统java用于确定哪些图像在彼此之上?如果你有多个图像在彼此之上?
package scratch;
import java.awt.Font;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.Graphics;
import java.awt.Rectangle;
import javax.swing.JFrame;
import javax.swing.JLabel;
//import statements
//Check if window closes automatically. Otherwise add suitable code
public class okay extends JFrame {
JPanel jp = new JPanel();
JLabel jl = new JLabel();
public okay(){
jl.setIcon(new ImageIcon("C:\\Users\\ShawnK\\Desktop\\cat.png"));
jp.add(jl);
add(jp);
validate();
}
public static void main(String args[]) {
JFrame window = new JFrame();
okay t1 = new okay();
window.setSize(640,800);
window.setTitle("lets do this");
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
window.setVisible(true);
drawingComponent DC = new drawingComponent();
ai enemy = new ai();
window.add(DC);
window.add(t1);
}
}
Run Code Online (Sandbox Code Playgroud)
你只是创建一个普通的香草JFrame:
JFrame window = new JFrame();
Run Code Online (Sandbox Code Playgroud)
而你永远不会创建一个new okay()对象.理解它不会通过魔法创建自己,如果你想要它显示,你必须在代码中这样做.
顺便说一句,我不知道创作是什么drawingComponent:
drawingComponent DC = new drawingComponent();
Run Code Online (Sandbox Code Playgroud)
因为你永远不会显示类代码.此外,在添加所有组件之前,不应将JFrame设置为可见.
也
setVisible(true)在添加所有初始组件之前,不要调用JFrame.ImageIO.read(...),然后将其放入ImageIcon中.它更安全一些(我认为)可以更好地缓存图像.| 归档时间: |
|
| 查看次数: |
40 次 |
| 最近记录: |