Image 将图像添加到JFrame内部的现有JPanel
所以,我在AP计算机科学课上,我们的最后一个项目是制作一个程序,展示我们所学的一系列不同的概念。其中两个是显示图像和添加按钮 我决定做一个简单的基于决策的rpg,显示是否有其他分支。我想出了如何在菜单中获得一个带有开始按钮的菜单,并打开了一个输入对话框。但我不知道如何将图像添加到按钮所在的JFrame中。您知道,所以它会在按钮上方或下方显示图像。我学习了如何显示图像,但示例都是只显示图像的扩展类。我不知道如何在现有代码中调用某种draw或BuffereImage方法,也不知道将其放置在何处。也许我可以调用另一个包含图像代码的类?这是我到目前为止所拥有的Image 将图像添加到JFrame内部的现有JPanel,image,jframe,jpanel,Image,Jframe,Jpanel,所以,我在AP计算机科学课上,我们的最后一个项目是制作一个程序,展示我们所学的一系列不同的概念。其中两个是显示图像和添加按钮 我决定做一个简单的基于决策的rpg,显示是否有其他分支。我想出了如何在菜单中获得一个带有开始按钮的菜单,并打开了一个输入对话框。但我不知道如何将图像添加到按钮所在的JFrame中。您知道,所以它会在按钮上方或下方显示图像。我学习了如何显示图像,但示例都是只显示图像的扩展类。我不知道如何在现有代码中调用某种draw或BuffereImage方法,也不知道将其放置在何处。也许
public class Smashing extends JPanel
{
public static void main(String[] args)
{
JFrame frame = new JFrame("Input Dialog Box Frame");
JButton button = new JButton("Start Nigel's Adventure");
button.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
String str = JOptionPane.showInputDialog( "What should Nigel do? : Enter a cardinal direction ex. n");
if (str.equals("n"))
{
JOptionPane.showMessageDialog(null, "Nigel comes upon a tree ");
String str2 = JOptionPane.showInputDialog( "What should Nigel do? :");
if (str2.equals("climb"))
JOptionPane.showMessageDialog(null, "Nigel climbs up the tree ");
if (str2.equals("s"))
JOptionPane.showMessageDialog(null, "Nigel returns to the strating position ");
}
if (str.equals("s"))
{
JOptionPane.showMessageDialog(null, "Nigel comes upon boulder ");
String str3 = JOptionPane.showInputDialog( "What should Nigel do? :");
}
}
});
JPanel panel = new JPanel();
panel.add(button);
frame.add(panel);
frame.setSize(400, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
我已经导入了很多包,我只是没有在代码中包含这些,哦,这也是一个普通的应用程序类,不是applet。非常感谢您的帮助。您可以使用JLabel存储从文件或缓冲区读取的图像:
ImageIcon image = new ImageIcon("path_to_image");
//or
ImageIcon image = new ImageIcon (data) //where data is byte[] data
然后创建JLabel:
JLabel label = new JLabel(image)
要决定如何定位您的图像,请使用所需的LayoutManager将JLabel添加到JPanel中。完美,JLabel确实有效。我将它添加到我的JPanel中,现在唯一的事情是它使整个面板成为一个按钮!我会解决的,谢谢。