2013-09-24 60 views
2
package carspeedometer; 

import java.awt.Graphics; 

import javax.swing.ImageIcon; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 

class a1 { 

    a1() { 
     JFrame jf = new JFrame("Speedometer"); 
     jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     JPanel jp = new JPanel(); 
     JLabel jb = new JLabel(new ImageIcon(
       "C:/Users/Vinayak/Desktop/tester.jpg")); 
     jp.add(jb); 

     jf.add(jp); 
     jf.setVisible(true); 
     jf.setSize(700, 700); 
    } 

    public void paint(Graphics g) { 
     g.drawLine(70, 70, 200, 200); 
    } 

    public static void main(String...s) { 
     new a1(); 
    } 
} 

Line沒有顯示在屏幕上。我想在image.please幫助的頂部顯示line。 在這裏,我想建立一個測速儀,但第一線需要顯示line not shown on image jframe

+0

如果您想爲練習製作一個,請繼續。否則,您可能會考慮使用[第三方庫](http://harmoniccode.blogspot.be/2010/08/java-swing-component-library.html) – Robin

+0

此外,請閱讀[併發中的擺動] (http://docs.oracle.com/javase/tutorial/uiswing/concurrency/),如果這對你來說真的不是已知的事情:-) –

回答

5

只能在Swing繪製,如果你覆蓋組件的繪製方法。在這裏你的繪畫方法不會覆蓋任何東西,因爲你的類沒有擴展。我建議

  • 您創建一個擴展JPanel類
  • 你重寫JPanel的paintComponent(Graphics g)方法
  • 您使用@Override註釋,以驗證您將JPanel到一個JFrame倍率
  • 並將其顯示出來
  • 您看過Swing Painting Tutorials。你不想猜這個東西。