2012-08-27 30 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

相关问题