BufferedImage i = new BufferedImage(100, 20, BufferedImage.TYPE_INT_RGB)
//2.得到画笔
Graphics g = i.getGraphics()
g.drawOval(x, y, width, height)
首先,点动成线,也就是如果把一条线花短一点就可以类似一个点。其次,点的大小问题,就像windows自带的画图一样,点的大小是可以改变的,很灵活,用代码写很麻烦。
在其次,Graphics虽说没有点,但是你画一个实心的圆就是点了
g.fillOval( x, y, width, height)...
最后,点是特别特殊的,因为是实心的,画大点就是一个小圆,画小点又不好看,所以干脆就不提供画点的方法了。
package testimport java.awt.Canvas
import java.awt.Dimension
import java.awt.Graphics
import java.awt.Toolkit
import java.awt.event.WindowAdapter
import java.awt.event.WindowEvent
import javax.swing.JFrame
import javax.swing.JPanel
public class PaintDemo extends JFrame{
/**
*
*/
private static final long serialVersionUID = -95348909224392777L
JPanel c=canvas()
public PaintDemo(){
this.setTitle("Small point paint test")
int w=300,h=300
this.setSize(w, h)
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize()
this.setSize(w,h)
this.setLocation(screenSize.width / 2 - w / 2,
screenSize.height / 2 - h / 2)
this.setLayout(null)
this.add(this.c)
this.c.setBounds(0, 0, 300, 300)
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose()
System.exit(0)
}
})
this.setVisible(true)
}
public JPanel canvas() {
JPanel panel = new JPanel() {
private static final long serialVersionUID = 1L
@Override
public void paint(Graphics g) {
super.paint(g)
g.fillOval(100, 100, 100, 100)
}
}
return panel
}
/**
* @param args
*/
public static void main(String[] args) {
new PaintDemo()
}
}