2012-08-27 31 views
0

我是新來的java和創建我自己的窗口框架。現在我只需要繪製幾個圖形形狀。如何在JFrame中創建畫布並繪製幾個基本形狀?

import javax.swing.JFrame; 

public class run { 

public static void main(String[] args) { 

    JFrame frame = new JFrame(); 

int resx = 400,resy = 400; 

frame.setSize(resx,resy); 
frame.setLocationRelativeTo(null); 
frame.setTitle("Mover"); 
frame.setResizable(false); 
frame.setVisible(true); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 


} 
} 
+0

你可以看看這個鏈接http://www.stupidjavatricks.com/?p=4 –

回答

1

查找更多關於油漆here

一個簡單的例子如下。

import java.awt.Color; 
import java.awt.Dimension; 
import java.awt.Graphics; 

import javax.swing.JFrame; 
import javax.swing.SwingUtilities; 

public class SimpleDrawing extends JFrame { 

public SimpleDrawing() { 

    setSize(new Dimension(500, 500)); 
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    setVisible(true); 
} 

public void paint(Graphics g) { 

    g.setColor(Color.red); 
    g.fillOval(20, 50, 100, 100); 
    g.setColor(Color.blue); 
    g.fillRect(100, 100, 100, 200); 
} 

public static void main(String arg[]) { 

    SwingUtilities.invokeLater(new Runnable() { 

     @Override 
     public void run() { 
      // TODO Auto-generated method stub 
      new SimpleDrawing(); 
     } 
    }); 
} 

} 

檢查代碼中的paint方法。

+0

不要重寫頂級容器的繪製,除了安陽其他,它們不是雙緩衝,基於窗口頂級容器,這將允許您在框架邊界下繪製。您應該始終致電super.paintXxx以確保塗料鏈的塗料要求得到保持。沒有必要從JFrame中擴展,因此yu不會爲課堂增加任何功能 – MadProgrammer

相關問題