2014-11-01 56 views
-1

因此,我有一個簡單的程序,它使用g2.drawString("Hello world", 40, 120)在JPanel上繪製一個字符串。基本上,我希望能夠一次跟蹤JPanel上的多個字符串。我不知道如何做到這一點。例如,我想要有一個跟蹤這些字符串的對象的ArrayList。使用Paint在Swing中跟蹤JPanel上繪製的字符串

我希望能夠點擊並拖動這些字符串,所以我需要知道有位置等

現在,使用g2.drawString,只汲取的字符串。我想要gw.draw(myStringObject)之類的東西。不知道這是否是一個愚蠢的請求,但這是我正在尋找。謝謝!

import java.awt.Font; 
import java.awt.Graphics; 
import java.awt.Graphics2D; 
import java.awt.RenderingHints; 

import javax.swing.JFrame; 
import javax.swing.JPanel; 

public class DrawSimpleText extends JPanel { 
    public void paint(Graphics g) { 
     Graphics2D g2 = (Graphics2D) g; 

     g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, 
       RenderingHints.VALUE_ANTIALIAS_ON); 
     Font font = new Font("Serif", Font.PLAIN, 96); 
     g2.setFont(font); 

     g2.drawString("Hello world", 40, 120); 
    } 

    public static void main(String[] args) { 
     JFrame f = new JFrame(); 
     f.getContentPane().add(new DrawSimpleText()); 
     f.setSize(300, 200); 
     f.setVisible(true); 
    } 
} 
+1

-1,交叉貼:http://www.coderanch.com/t/641794/GUI/java/Keeping-track-strings-drawn-JPanel#2946878 – camickr 2014-11-02 01:53:02

+0

@peeskillet對[tag:drawstring]不幸的調用,標籤。它非常具體(對.Net)。 – 2014-11-02 02:55:51

+0

@AndrewThompson對不起,沒有閱讀標籤信息。我已經看到它之前用於揮杆,並且只是_assumed_。從來沒有再次:-) – 2014-11-02 02:57:05

回答

2

我希望能夠點擊並拖動這些字符串,所以我需要知道有位置等

使用一個JLabel,那麼你可以只需將他們像任何組件。

請參閱Component Mover一種拖動方式。