所以,我在AP计算机科学课上,我们最后的项目是制作一个程序,展示我们学到的一系列不同概念。其中两个是显示图像,并添加按钮。
我决定制作一个基于决策的简洁RPG,显示if-else分支。我想出了如何获得一个带有开始按钮的菜单,并打开一个输入对话框。但我无法弄清楚如何将图像添加到按钮所在的同一个JFrame。你知道它会在按钮上方或下方显示图像。我学会了如何显示图像,但这些示例都是仅显示图像的扩展类。我无法弄清楚如何在我现有的代码中调用某种draw或bufferedimage方法或在何处放置它。也许我可以打电话给另一个有图像代码的班级?这是我到目前为止所拥有的。
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。非常感谢任何帮助。
答案 0 :(得分:0)
您可以使用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)
要决定如何定位图像,请将JLabel添加到具有所需LayoutManager的JPanel中。