java 学习 图形界面程序设计 第二课 绘制简单图形

             图形界面程序设计 

   绘制简单图形界面设置  需要用到的是Graphics 类 是java.awt.*包 中的一个类  下面的程序啊主要使用 Applet 程序 
   Graphics 类中有很多 方法
   下面介绍几种比较实用的方法:
  1、 drawLIne(x1, y1, x2, y2) 方法 用来画直线用的
   这里 的g 相当于一只画笔 这个笔可以有很多属性 的,他就是用来画东西的

   下面给出画直线的栗子:
import java.applet.*;
import java.awt.*;
public class DrawLine  extends Applet{
	//下面需要定义paint 函数来进行画函数
	public void  paint(Graphics g) {
		int x1, x2, y1,y2;
		x1 = 20;
		y1 = 90;
		x2 = 100;
		y2 = 210;
		g.setColor(Color.red);
		g.drawLine(x1, y1, x2, y2);
	}

}

     2、下面给出画多边形的方法 drawPolyline()   用来绘制多边形线段  语法:
        drawPolyline(int x[] , int y[],int npoints);
                                其中 x[] y[] 表示多边形顶点坐标的位置 npoints 表示多边形的边数
  下面给出栗子:
      
import java.awt.*;
import java.applet.*;
public class DrtawPoly  extends Applet{
	
      public void paint(Graphics g)
      {//下面设置5个顶点的坐标 其实就是四边形  6 个顶点其实就是 5边形
    	  int x[] = {0 ,100,100,50, 0, 0};
    	  int y[] = {0, 0, 100,150,100, 0};
    	  g.drawPolyline(x, y, 6);
    	  for(int n= 0 ; n <= 100 ; n+= 10)
    	  {
    		  for(int m = 100; m>=0; m-=10)
    		  {
    			  g.drawLine(m, n, n, m);
    		  }
    	  }
    	  g.drawString("画多边形", 20, 120);
      }
}

    下面给出,画椭圆的方法: applet 程序
import java.awt.*;
import java.applet.*;
public class DrawOval extends Applet{

	//类中有一个方法用来画椭圆的
	public void paint(Graphics g)
	{
		g.setColor(Color.red);
		g.drawOval(80, 80, 100, 80);
		g.setColor(Color.green);
		g.fillOval(220, 80, 100, 100);
	}
}
结果:

wangxiaoming CSDN认证博客专家 架构 Spring Boot Redis
博客是很好的总结和记录工具,如果有问题,来不及回复,关注微信公众号:程序员开发者社区,获取我的联系方式,向我提问,也可以给我发送邮件,联系 1275801617@qq.com
题目大意:做一个简单的交通灯,要求框架里有三个单选按钮(red,green,yellow),一组交通指示灯(三个灯泡)。选择单选按钮后,相应的灯会亮,一次只能亮一种灯。 以下是我的程序,执行以后面板上有按钮,可就是没有图像,求各位指点啊 import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class TrafficLight extends JFrame { PaintPanel paintPanel=new PaintPanel();//申请画图面板,按钮面板和三个单选按钮 JPanel buttons=new JPanel(); JRadioButton red=new JRadioButton("red"); JRadioButton green=new JRadioButton("green"); JRadioButton yellow=new JRadioButton("yellow"); TrafficLight() { ButtonGroup ni=new ButtonGroup();//将单选按钮加入按钮组 ni.add(red); ni.add(green); ni.add(yellow); buttons.setLayout(new FlowLayout());//将单选按钮加入按钮面板 buttons.add(red); buttons.add(green); buttons.add(yellow); setLayout(new BorderLayout());//将按钮面板和画图面板加入框架 add(paintPanel,BorderLayout.NORTH); add(buttons,BorderLayout.SOUTH ); red.addActionListener(new ActionListener(){//为三个单选按钮设置监听 public void actionPerformed(ActionEvent e){repaint();}}); yellow.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){repaint();}}); green.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){repaint();}}); } public class PaintPanel extends JPanel { protected void paintComponent(Graphics g) { super.paintComponents(g); g.drawRect(getWidth()/2-10,20, 20, 60);//按要求绘制交通灯 if(!red.isSelected()) g.drawOval(getWidth()/2,30,15,15);//亮红灯 else g.fillOval(getWidth()/2,30,15,15);//熄灭红灯 if(!green.isSelected()) g.drawOval(getWidth()/2,50,15,15);//亮绿灯 else g.fillOval(getWidth()/2,50,15,15);//熄灭绿灯 if(!yellow.isSelected()) g.drawOval(getWidth()/2,70,15,15);//亮黄灯 else g.fillOval(getWidth()/2,70,15,15);//熄灭黄灯 } } public static void main(String [] args)//主函数 { TrafficLight mine=new TrafficLight(); mine.setTitle("TrafficLight"); mine.setSize(800,500); mine.setVisible(true); } }
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付 19.89元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值