Java制作';点/像素';摆动/awt
我想知道如何在我的JFrame上的某个x,y坐标上制作点/像素Java制作';点/像素';摆动/awt,java,Java,我想知道如何在我的JFrame上的某个x,y坐标上制作点/像素 有人知道这方面的一些简单代码吗?简单性和实用性之间的最佳折衷方案可能是扩展JPanel,并覆盖paintComponent(图形)。然后将该面板放置在JFrame中(具有适当的布局。此处有一些使用说明:请参阅 void update(Graphics g) JFrame类的方法。 图形API(如绘制点、绘制线、绘制弧等)属于图形类 编辑:我创建了一个小示例程序: public class Test extends JFrame
有人知道这方面的一些简单代码吗?简单性和实用性之间的最佳折衷方案可能是扩展JPanel,并覆盖paintComponent(图形)。然后将该面板放置在JFrame中(具有适当的布局。此处有一些使用说明:请参阅
void update(Graphics g)
JFrame类的方法。
图形API(如绘制点、绘制线、绘制弧等)属于图形类
编辑:我创建了一个小示例程序:
public class Test extends JFrame {
public Test() {
this.setPreferredSize(new Dimension(400, 400));
this.pack();
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
@Override
public void paint(Graphics g) {
super.paint(g);
// define the position
int locX = 200;
int locY = 200;
// draw a line (there is no drawPoint..)
g.drawLine(locX, locY, locX, locY);
}
public static void main(String[] args) {
Test test = new Test();
}
}
你也可以使用update或paintComponents方法,这会更好。但是你必须确保它被调用。如果你有问题,但它没有被调用,你可以使用以下解决方案:问问你自己是否真的想扩展JFrame
或JPanel
。如果你决定不这样做然后,您可以创建一个基本的JComponent
。根据您使用的布局管理器的不同,您可能会获得不同的成功
public class PixelComponent extends JComponent
{
private Color color;
public PixelComponent(Color color)
{
super();
this.color = color;
}
public PixelComponent()
{
this(Color.BLACK);
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setColor(color);
g.fillRect(0, 0, 1, 1);
}
}
发送图形参考以及x轴和y轴以生成像素:
private void doPixel(图形g、int x、int y){
g、 fillRect(x,y,1,1);
}
非常好的小示例谢谢。我必须添加要运行的导入:import javax.swing.*;import java.awt.Graphics;import java.awt.Dimension;谢谢,您知道如何设置线/点/点的颜色吗?:)如何为双倍而不是整数设置颜色?