JFrame上の特定のx、y座標でドット/ピクセルを作成する方法を知りたいだけです。スイング/ awtでJavaを 'ドット/ピクセル'にする
誰でもこの簡単なコードを知っていますか?
おかげで、シンプルさと実用性の間
JFrame上の特定のx、y座標でドット/ピクセルを作成する方法を知りたいだけです。スイング/ awtでJavaを 'ドット/ピクセル'にする
誰でもこの簡単なコードを知っていますか?
おかげで、シンプルさと実用性の間
:
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?
ベストな妥協はおそらくのJPanelを拡張し、paintComponent(グラフィックス)をオーバーライドすることです。その後、適切なレイアウトで(あなたのJFrameの中でそのパネルを置き、いくつかの使用上の注意はここにあります。。http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JComponent.html#paintComponent%28java.awt.Graphics%29
は(延伸点のように、線を描く、描くのJFrameクラスの
void update(Graphics g)
方法 グラフィックスAPIを参照してくださいアーク、など)Graphicsクラスである
EDIT:私は小さなサンプルプログラムを作成しているhttp://www.javadb.com/drawing-a-line-using-java-2d-graphics-api
をあなたが本当にが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(Graphics g, int x, int y){ g.fillRect(x, y, 1, 1); }
小ぎれい例おかげ。私は実行するためにインポートを追加しなければなりません:import javax.swing。*; import java.awt.Graphics; import java.awt.Dimension; – strainer
ありがとう、どのようにライン/ドット/ポイントの色を設定する方法を知っている? :) –
intの代わりに倍精度のためにそれを行う方法は? –