2013-03-16 111 views
2

我知道在擺動中創建文本字段和標籤。現在我想繪製一個線,通過繪製像素在鞦韆,我已閱讀本網站上的所有例子以及任何其他網站,但我沒有得到它。我知道如何在小程序中做到這一點,但我想在鞦韆中做到這一點。請幫忙。在JFrame Swing中繪製像素

import javax.swing.*; 
import java.awt.*; 

class dline{ 
    JFrame j; 
    dline(){ 
     j = new JFrame("Line Draw"); 
     j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     j.setExtendedState(Frame.MAXIMIZED_BOTH); 
     j.setVisible(true); 
    } 
    public void paintComponent(Graphics g){ 
     g.drawLine(10, 25,250, 300); 
    } 
    public static void main(String s[]){ 
     SwingUtilities.invokeLater(new Runnable(){ 
     public void run(){ 
      new dline(); 
     } 
     }); 
    } 
} 
+0

閱讀[自定義繪畫](http://docs.oracle.com/javase/tutorial/uiswing/painting/index.html)上的Swing教程。 – camickr 2013-03-16 15:03:19

+0

您應該使用paint而不是paintComponent。 paintComponent被假定用於繪製組件(例如JButton),繪畫用於自定義繪畫。 – user2097804 2013-03-16 15:06:57

回答

4
  1. 創建一個類DrawingPanel其擴展JPanel
  2. 在它移動你的方法的paintComponent()
  3. DrawingPanel的一個實例添加到您的框架

JDK 7 documentation

你可以找到task-oriente d文檔中關於在 Java教程中使用JFrame的章節How to Make Frames

由於camickr說:讀了Swing tutorial on Custom Painting

+0

謝謝。它工作成功。你能解釋一下它是如何工作的嗎?以及如何在擺動中處理圖形? – crazy4 2013-03-16 14:34:18

+0

想知道爲什麼它失敗了,從public void paintComponent(Graphics g){'to'@Override public void paintComponent(Graphics g){'並嘗試編譯它。 – 2013-03-17 00:11:30