我是一個新手繪畫/圖形,並想知道如何將JPanel添加到我的代碼中,這樣整個圖形將在JPanel上,而不是在JFrame上。如何使用jpanel繪畫(或重新繪製)
換句話說,我試圖創建一個圖形用戶界面,可以讓我做到這一點: 右側顯示上左側的JPanel 線的漂亮動作,添加一個JTextArea (在JPanel上)將顯示圖形的協調。
- 這是一個更大問題的簡化,但我猜這裏的代碼更容易理解。
謝謝!
(如下圖,動線或只需運行該代碼)
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Line2D;
import javax.swing.JFrame;
public class Test extends JFrame implements Runnable
{
private Line2D line;
public Test()
{
super("testing");
this.setBounds(500, 500, 500, 500);
this.setVisible(true);
}
public void paint(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
g2.draw(line);
}
@Override
public void run()
{
int x=50;
while (true)
{
try
{
Thread.sleep(50);
line = new Line2D.Float(100+x, 100+x, 250-x, 260+x%2);
x++;
repaint();
if (x==5000)
break;
} catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
public static void main (String args[])
{
Thread thread = new Thread (new Test());
thread.start();
}
}
謝謝!我擴展了JPanel,並使用了paintComponent,這個技巧是 – adhg 2011-12-26 19:22:08
,今天我學到了2件東西。再次感謝 – adhg 2011-12-27 01:32:15
不客氣。 :-)在這兩個方面。 ;) – 2011-12-27 01:47:28