java - 使用 java.awt 和 java.swing 获取要在框架上显示的 file.png 图像
问题描述
我试图让图像显示在我正在创建的游戏的框架上。我没有扩展任何 JPanel 或 JFrame,而是创建了多个框架类和一个动作类。我目前无法在我创建的测试框架上显示图像。我的代码可以编译,但是当我单击框架时它会关闭。谢谢!
PS这只是我的代码的一部分。我听说在线发布总代码不好。
代码:
public void testframe(){
testframe = new Frame("Main Menu");
testframe.setSize(1600,1600);
try{
myPicture = ImageIO.read(new File("basic.png"));
}
catch(IOException e){
e.printStackTrace();
//FirstFrame.setVisible(true);
//testframe.setVisible(false);
}
JLabel picLabel = new JLabel(new ImageIcon(myPicture));
testframe.add(picLabel);
//testframe.drawImage(myPicture,"png", );
testframe.setVisible(true);
}
private void showButtonDemo(){
Font myFont = new Font("Serif", Font.ITALIC | Font.BOLD, 12);
Font newFont = myFont.deriveFont(50F);
headerLabel.setText("SNAKE GAME");
headerLabel.setFont(newFont);
statusLabel.setText("By Tejas and Ashwin");
statusLabel.setFont(newFont);
Button startButton = new Button("Start Game");//begins game
Button snakecolorButton = new Button("Choose Snake Color");//selects snake color
Button themeColorButton = new Button("Choose Theme");//selects two colors(1 primary and 1 secondary)
Button InstructionsButton = new Button("Instructions");
Button testbutton = new Button("test");
testbutton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//testframe();
//testframe.setVisible(true);
FirstFrame.setVisible(false);
}
});
解决方案
首先,需要共享代码来获得帮助,所以如果您认为代码无论如何都涉及您需要共享它的帮助,否则明智的没关系...对于手头的问题,您可以使用 jlable 并为其设置 iamge显示 png 但最好的方法是为游戏创建它是创建一个类(例如 Player)和一个渲染方法,在渲染时,您在播放器的位置(XYZ)显示图像,
ImageIcon image = new ImageIcon("C:\\Users\\Name\\Pictures\\image.png");
JLabel imageLabel = new JLabel(image);
frame.add(imageLabel);
请记住将其设置为可见并设置其边界,
推荐阅读
- ffmpeg - x265:如果使用 frame-threads=1,我会得到更小的文件吗?
- node.js - 安装 AWS Amplify CLI 时出错
- python - 如何将 3 维 NumPy 数组转换为数据框?
- java - MutableLiveData.observe() 中的 Toast 消息重复工作
- google-sheets - 当列中的单元格值小于 0 时,从 Google 表格发送电子邮件警报
- python-3.x - 如何摆脱这 4 个不同的 for 循环
- node.js - 在 node.js 中使用 temp.mkdir 时,在临时目录中找不到被调用的 exe 生成的输出文件
- android - 如何使用硬件配置文件从命令行创建 AVD?
- npm - gatsby-source-contentful 漏洞
- python - 如何打印 PyRun_String 返回的对象?