java吧 关注:1,256,629贴子:12,748,162
  • 1回复贴,共1

java基础图形程序设计

只看楼主收藏回复

import java.awt.Color;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.geom.Ellipse2D;
import javax.swing.ImageIcon;
import javax.swing.JComponent;
import javax.swing.JFrame;public class FrameDemo {
public static void main(String[] args) {
EventQueue.invokeLater(()->{
JFrame frame=new demo();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
frame.setVisible(true);});
}
}
class demo extends JFrame{
public demo() {
setTitle("我的第一个窗口");
Toolkit kit=Toolkit.getDefaultToolkit();
Dimension screenSize=kit.getScreenSize();
int height=(int)screenSize.getHeight();
int width=(int) screenSize.getWidth();
setSize(height/3*2,width/3*2);
setLocationByPlatform(true);
Image image=new ImageIcon("timg.jpg").getImage();
setIconImage(image);
add(new DrawComponent());
add(new FontComponent());
}
}
class DrawComponent extends JComponent{
private static final long serialVersionUID = -1587341236735845047L; public void paintComponent(Graphics g) {
Graphics2D g2=(Graphics2D)g;
Ellipse2D ellipse=new Ellipse2D.Double(50, 200, 300, 200);
g2.setPaint(new Color(0, 128, 128));
g2.fill(ellipse);
g2.draw(ellipse);
}
}
class FontComponent extends JComponent{
public void paintComponent(Graphics g) {
Graphics2D g2=(Graphics2D)g;
String message="This is my first graphic:";
Font f=new Font("Arial", Font.BOLD+Font.ITALIC, 16);
g2.setFont(f)
g2.setPaint(Color.RED);
g2.drawString(message, 50, 100);
}
}
为什么运行程序只能显示文字,椭圆不显示?把两个add位置调一下又只显示椭圆 是什么原因?谢谢


1楼2018-04-26 18:07回复
    ddd


    2楼2018-04-26 18:42
    回复