2010-11-18 6 views

答えて

7

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メソッドを使用することもできます。これははるかに優れています。しかし、あなたはそれが呼び出されることを確認しなければなりません。あなたが問題を抱えているし、それが呼び出されません場合は、以下のソリューションを使用できます。Why is paint()/paintComponent() never called?

+0

小ぎれい例おかげ。私は実行するためにインポートを追加しなければなりません:import javax.swing。*; import java.awt.Graphics; import java.awt.Dimension; – strainer

+0

ありがとう、どのようにライン/ドット/ポイントの色を設定する方法を知っている? :) –

+0

intの代わりに倍精度のためにそれを行う方法は? –

1

は(延伸点のように、線を描く、描くのJFrameクラスの

void update(Graphics g) 

方法 グラフィックスAPIを参照してくださいアーク、など)Graphicsクラスである

EDIT:私は小さなサンプルプログラムを作成しているhttp://www.javadb.com/drawing-a-line-using-java-2d-graphics-api

0

をあなたが本当に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); 
    } 
} 
0

ピクセルを作るためにグラフィックス・リファレンスと軸xとyを送る:

private void doPixel(Graphics g, int x, int y){ g.fillRect(x, y, 1, 1); }

関連する問題