2012-05-01 127 views

回答

-1

它不是很好,但它的運行:

public class Example extends JFrame { 

private static JLabel a; 
private static JLabel b; 

public static void main(String[] args) { 

    Example example = new Example(); 

    JPanel panel = new JPanel(); 
    panel.setLayout(null); 

    a = new JLabel("a"); 
    a.setBounds(50, 50, 10, 10); 

    b = new JLabel("b"); 
    b.setBounds(150, 150, 10, 10); 

    panel.add(a); 
    panel.add(b); 

    example.getContentPane().add(panel); 

    example.setGlassPane(new MyGlas()); 
    example.getGlassPane().setVisible(true); 

    example.setSize(400, 400); 

    example.setVisible(true); 
} 

public static class MyGlas extends JComponent { 

    public void paint(Graphics g) { 

     Rectangle aBounds = a.getBounds(); 
     Rectangle bBounds = b.getBounds(); 

     g.drawLine(aBounds.x, aBounds.y, bBounds.x, bBounds.y); 
    } 
} 
} 
+0

:關於使用我們的代碼我得到一個錯誤非靜態方法無法從靜態上下文從getContentPane方法訪問setVisible。你可以請幫忙.. – arya

+1

如果你只是複製並將代碼複製到一個新的類文件中,它肯定有效。那麼,你有什麼改變?發佈代碼和確切的錯誤。 –

+0

在我們的代碼中聲明Jlabels爲靜態的,通過這樣做會得到getContentPane()方法的錯誤,即靜態內容不能被這個方法引用。 – arya

0

實際上,你應該使用一些開發平臺IDE像Netbeans的或一些揮杆專家IDE的,因爲他們可以幫助你在開發過程中有很多。
使用IDE,您可以將其作爲拖放工具進行拖放,因此它會自動生成代碼。
不僅可以繪製線條,而且可以輕鬆地完成所有工作。 試試吧....

相關問題