我的一般想法是制作Sprite-Sheet-Maker我的意思是该程序将:
- 收集多张图片,如" 1.bmp" ," 2.png"和" 3.jpg"
- 创建新的BuffredImage变量并在其上绘制3张图片(并在同一时间在JPanel上绘制BuffredImage)
- 保存最终图片" Final.png"
醇>
我想在一个循环中制作第一步和第二步,因为我有JList
所有照片的路径。
为了做到这一点,我在eclipse上使用了Java窗口构建器,我制作了表单,并尝试在Panel
上测试一个简单的代码。
Panel panel = new Panel(); //Work
panel.setBackground(Color.BLUE); //Work
BufferedImage img = new BufferedImage(5,5,5); //Work
Graphics g = null ; //Work
panel.paintComponents(g); //work
g.setColor(Color.BLACK); //ERROR---------------------ERROR
g.fillRect(0, 0, 50, 50);
这个问题不仅存在于代码中,而且存在于所有想法中,所以请您的任何想法都可以帮助我甚至是我项目的一部分解决方案的一部分,所以请评论你有任何想法。
答案 0 :(得分:1)
g.setColor(Color.BLACK);//error
自
Graphics g = null ;//null value, you are not create any obeject
在null
值后,我们无法执行任何操作。
您必须覆盖paintComponent
课程中的JPanel
方法,然后您才会收到Graphics
个对象。
JPanel panel = new JPanel() {
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.BLUE);
g.fillRect(0, 0, 100, 100);
}
};
frame.add(panel);//added to frame.
答案 1 :(得分:0)
GridLayout
。