实验十二  图形程序设计

实验时间 2018-11-14

学习总结:

1.Java的抽象口工具箱( Abstract WindowToolkit, AWT)包含在java.awt包中,它提供了许多用来设计GUI的组件类和容器类。

2.AWT库处理用户界面元素的方法:把图形元素的创建和行为委托给本地GUI工具箱进行处理。

3.Swing用户界面库是非基于对等体的GUI工具箱。Swing具有更丰富并且更方便的用户界面元素集合。Swing对底层平台的依赖很少,因此与平台相关的bug很少。Swing会带来交叉平台上的统一视觉体验。Swing类库被放在 javax.swing 包里。

4.大部分AWT组件都有其 Swing的等价组件。Swing组件的名字一般是在AWT组件名前面添加一个字母“J”,如:JButton,JFrame,JPanel等。

5.通常把由Component类的子类或间接子类创建的对象称为一个组件。

6.组件类的常用API

java.awt.Component 1.0

– boolean isVisible() 检查组件是否可见

– void setVisible(boolean b) 设置组件可见

– void setSize(int width,int height) 把组件缩放到指定宽度和高度

– void setBounds(int x,int y,intwidth,int height) 移动并缩放组件

– Dimension getSize() 得到组件的大小

– void setSize(Dimension d) 把组件缩放到指定的大小

– void setLocation(int x,int y)

7.容器是Java中能容纳和排列组件的组件。常用的容器是框架(Frame,JFrame)

8.java.awt.Frame 类的常用API

void setResizable(boolean b) 缩放框架

void setTitle(String s) 设置框架标题

void setIconImage(Image image) 将Image用作框架图标

9.Container类提供了一个方法add(),用来在容器类组件对象中添加其他组件。容器本身也是一个组件,可以把一个容器添加到另一个容器里,实现容器嵌套。

10.定位:常用Component类的setLocation和setBounds方法

11.创建框架时的常用类及API

java.awt.Component 1.0
– boolean isVisible() 检查组件是否可见
– void setVisible(boolean b) 设置组件可见
– void setSize(int width,int height) 把组件缩放到指定宽度和高度

– void setBounds(int x,int y,intwidth,int height) 移动并缩放组件

– Dimension getSize() 得到组件的大小

– void setSize(Dimension d) 把组件缩放到指定的大小

12.Java SE了包含一个Java 2D库,该库提供了一个非常强大的图形操作集。

13.Graphics 2D类是Graphics类的子类,Graphics。2D类对象通常可用Graphics对象转换而来。

14.Java 2D图形类使用浮点数坐标系,这样可为坐标指定单位。

15.图像:(1)在Java应用程序中,一旦图像保存在本地或因特网的某个位置上,就可以将它们直接读入到java应用程序中。(2)完成将一个图像文件加载到程序中,再调用Graphics类提供的DrawImage()显示它。

1、实验目的与要求

(1) 掌握Java GUI中框架创建及属性设置中常用类的API;

(2) 掌握Java GUI中2D图形绘制常用类的API;

(3) 了解Java GUI中2D图形中字体与颜色的设置方法;

(4) 了解Java GUI中2D图像的载入方法。

2、实验内容和步骤

实验1: 导入第10章示例程序,测试程序并进行代码注释。

测试程序1:

l 运行下列程序,观察程序运行结果。

import javax.swing.*;

public class SimpleFrameTest

{

public static void main(String[] args)

{

JFrame  frame = new JFrame();

frame.setBounds(0, 0,300, 200);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

}

}

l 在elipse IDE中调试运行教材407页程序10-1,结合程序运行结果理解程序;与上面程序对比,思考异同;

l 掌握空框架创建方法;

l 了解主线程与事件分派线程概念;

l 掌握GUI顶层窗口创建技术。

package simpleFrame;import java.awt.*;
import javax.swing.*;/*** @version 1.33 2015-05-12* @author Cay Horstmann*/
public class SimpleFrameTest
{public static void main(String[] args){EventQueue.invokeLater(() ->{SimpleFrame frame = new SimpleFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);});}
}class SimpleFrame extends JFrame
{private static final int DEFAULT_WIDTH = 300;private static final int DEFAULT_HEIGHT = 200;public SimpleFrame(){setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);}
}

package simpleFrame;import java.awt.*;
import javax.swing.*;/*** @version 1.33 2015-05-12* @author Cay Horstmann*/
public class SimpleFrameTest
{public static void main(String[] args){EventQueue.invokeLater(() ->{SimpleFrame frame = new SimpleFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);});}
}class SimpleFrame extends JFrame
{private static final int DEFAULT_WIDTH = 300;private static final int DEFAULT_HEIGHT = 200;public SimpleFrame(){setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);}
}

测试程序2:

l 在elipse IDE中调试运行教材412页程序10-2,结合程序运行结果理解程序;

l 掌握确定框架常用属性的设置方法。

package sizedFrame;import java.awt.*;
import javax.swing.*;/*** @version 1.34 2015-06-16* @author Cay Horstmann*/
public class SizedFrameTest
{public static void main(String[] args){EventQueue.invokeLater(() ->{JFrame frame = new SizedFrame();frame.setTitle("SizedFrame");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);});}
}class SizedFrame extends JFrame
{public SizedFrame(){// get screen dimensionsToolkit kit = Toolkit.getDefaultToolkit();Dimension screenSize = kit.getScreenSize();int screenHeight = screenSize.height;int screenWidth = screenSize.width;// set frame width, height and let platform pick screen locationsetSize(screenWidth / 2, screenHeight / 2);setLocationByPlatform(true);// set frame iconImage img = new ImageIcon("icon.gif").getImage();setIconImage(img);      }
}

package sizedFrame;import java.awt.*;
import javax.swing.*;/*** @version 1.34 2015-06-16* @author Cay Horstmann*/
public class SizedFrameTest
{public static void main(String[] args){EventQueue.invokeLater(() ->{JFrame frame = new SizedFrame();frame.setTitle("SizedFrame");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);});}
}class SizedFrame extends JFrame
{public SizedFrame(){// get screen dimensionsToolkit kit = Toolkit.getDefaultToolkit();Dimension screenSize = kit.getScreenSize();int screenHeight = screenSize.height;int screenWidth = screenSize.width;// set frame width, height and let platform pick screen locationsetSize(screenWidth / 2, screenHeight / 2);setLocationByPlatform(true);// set frame iconImage img = new ImageIcon("icon.gif").getImage();setIconImage(img);      }
}

测试程序3:

l 在elipse IDE中调试运行教材418页程序10-3,结合运行结果理解程序;

l 掌握在框架中添加组件;

l 掌握自定义组件的用法。

package notHelloWorld;import javax.swing.*;
import java.awt.*;/*** @version 1.33 2015-05-12* @author Cay Horstmann*/
public class NotHelloWorld
{public static void main(String[] args){EventQueue.invokeLater(() ->{JFrame frame = new NotHelloWorldFrame();frame.setTitle("NotHelloWorld");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);});}
}/*** A frame that contains a message panel*/
class NotHelloWorldFrame extends JFrame
{public NotHelloWorldFrame(){add(new NotHelloWorldComponent());pack();}
}/*** A component that displays a message.*/
class NotHelloWorldComponent extends JComponent
{public static final int MESSAGE_X = 75;public static final int MESSAGE_Y = 100;private static final int DEFAULT_WIDTH = 300;private static final int DEFAULT_HEIGHT = 200;public void paintComponent(Graphics g){g.drawString("Not a Hello, World program", MESSAGE_X, MESSAGE_Y);}public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); }
}

package notHelloWorld;import javax.swing.*;
import java.awt.*;/*** @version 1.33 2015-05-12* @author Cay Horstmann*/
public class NotHelloWorld
{public static void main(String[] args){EventQueue.invokeLater(() ->{JFrame frame = new NotHelloWorldFrame();frame.setTitle("NotHelloWorld");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);});}
}/*** A frame that contains a message panel*/
class NotHelloWorldFrame extends JFrame
{public NotHelloWorldFrame(){add(new NotHelloWorldComponent());pack();}
}/*** A component that displays a message.*/
class NotHelloWorldComponent extends JComponent
{public static final int MESSAGE_X = 75;public static final int MESSAGE_Y = 100;private static final int DEFAULT_WIDTH = 300;private static final int DEFAULT_HEIGHT = 200;public void paintComponent(Graphics g){g.drawString("Not a Hello, World program", MESSAGE_X, MESSAGE_Y);}public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); }
}

package notHelloWorld;import javax.swing.*;
import java.awt.*;/*** @version 1.33 2015-05-12* @author Cay Horstmann*/
public class NotHelloWorld
{public static void main(String[] args){EventQueue.invokeLater(() ->{JFrame frame = new NotHelloWorldFrame();frame.setTitle("NotHelloWorld");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);});}
}/*** A frame that contains a message panel*/
class NotHelloWorldFrame extends JFrame
{public NotHelloWorldFrame(){add(new NotHelloWorldComponent());pack();}
}/*** A component that displays a message.*/
class NotHelloWorldComponent extends JComponent
{public static final int MESSAGE_X = 75;public static final int MESSAGE_Y = 100;private static final int DEFAULT_WIDTH = 300;private static final int DEFAULT_HEIGHT = 200;public void paintComponent(Graphics g){g.drawString("Not a Hello, World program", MESSAGE_X, MESSAGE_Y);}public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); }
}

测试程序4:

l 在elipse IDE中调试运行教材424 -425页程序10-4,结合程序运行结果理解程序;

l 掌握2D图形的绘制方法。

package draw;import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;/*** @version 1.33 2007-05-12* @author Cay Horstmann*/
public class DrawTest
{public static void main(String[] args){EventQueue.invokeLater(() ->{JFrame frame = new DrawFrame();frame.setTitle("DrawTest");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);});}
}/*** A frame that contains a panel with drawings*/
class DrawFrame extends JFrame
{public DrawFrame(){      add(new DrawComponent());pack();}
}/*** A component that displays rectangles and ellipses.*/
class DrawComponent extends JComponent
{private static final int DEFAULT_WIDTH = 400;private static final int DEFAULT_HEIGHT = 400;public void paintComponent(Graphics g){Graphics2D g2 = (Graphics2D) g;// draw a rectangledouble leftX = 100;double topY = 100;double width = 200;double height = 150;Rectangle2D rect = new Rectangle2D.Double(leftX, topY, width, height);g2.draw(rect);// draw the enclosed ellipseEllipse2D ellipse = new Ellipse2D.Double();ellipse.setFrame(rect);g2.draw(ellipse);// draw a diagonal lineg2.draw(new Line2D.Double(leftX, topY, leftX + width, topY + height));// draw a circle with the same centerdouble centerX = rect.getCenterX();double centerY = rect.getCenterY();double radius = 150;Ellipse2D circle = new Ellipse2D.Double();circle.setFrameFromCenter(centerX, centerY, centerX + radius, centerY + radius);g2.draw(circle);}public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); }
}

package draw;import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;/*** @version 1.33 2007-05-12* @author Cay Horstmann*/
public class DrawTest
{public static void main(String[] args){EventQueue.invokeLater(() ->{JFrame frame = new DrawFrame();frame.setTitle("DrawTest");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);});}
}/*** A frame that contains a panel with drawings*/
class DrawFrame extends JFrame
{public DrawFrame(){      add(new DrawComponent());pack();}
}/*** A component that displays rectangles and ellipses.*/
class DrawComponent extends JComponent
{private static final int DEFAULT_WIDTH = 400;private static final int DEFAULT_HEIGHT = 400;public void paintComponent(Graphics g){Graphics2D g2 = (Graphics2D) g;// draw a rectangledouble leftX = 100;double topY = 100;double width = 200;double height = 150;Rectangle2D rect = new Rectangle2D.Double(leftX, topY, width, height);g2.draw(rect);// draw the enclosed ellipseEllipse2D ellipse = new Ellipse2D.Double();ellipse.setFrame(rect);g2.draw(ellipse);// draw a diagonal lineg2.draw(new Line2D.Double(leftX, topY, leftX + width, topY + height));// draw a circle with the same centerdouble centerX = rect.getCenterX();double centerY = rect.getCenterY();double radius = 150;Ellipse2D circle = new Ellipse2D.Double();circle.setFrameFromCenter(centerX, centerY, centerX + radius, centerY + radius);g2.draw(circle);}public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); }
}

package draw;import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;/*** @version 1.33 2007-05-12* @author Cay Horstmann*/
public class DrawTest
{public static void main(String[] args){EventQueue.invokeLater(() ->{JFrame frame = new DrawFrame();frame.setTitle("DrawTest");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);});}
}/*** A frame that contains a panel with drawings*/
class DrawFrame extends JFrame
{public DrawFrame(){      add(new DrawComponent());pack();}
}/*** A component that displays rectangles and ellipses.*/
class DrawComponent extends JComponent
{private static final int DEFAULT_WIDTH = 400;private static final int DEFAULT_HEIGHT = 400;public void paintComponent(Graphics g){Graphics2D g2 = (Graphics2D) g;// draw a rectangledouble leftX = 100;double topY = 100;double width = 200;double height = 150;Rectangle2D rect = new Rectangle2D.Double(leftX, topY, width, height);g2.draw(rect);// draw the enclosed ellipseEllipse2D ellipse = new Ellipse2D.Double();ellipse.setFrame(rect);g2.draw(ellipse);// draw a diagonal lineg2.draw(new Line2D.Double(leftX, topY, leftX + width, topY + height));// draw a circle with the same centerdouble centerX = rect.getCenterX();double centerY = rect.getCenterY();double radius = 150;Ellipse2D circle = new Ellipse2D.Double();circle.setFrameFromCenter(centerX, centerY, centerX + radius, centerY + radius);g2.draw(circle);}public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); }
}

测试程序5:

l 在elipse IDE中调试运行教材432页-433程序10-5,结合程序运行结果理解程序;

l 了解2D图形中字体的设置的方法;

package font;import java.awt.*;
import java.awt.font.*;
import java.awt.geom.*;
import javax.swing.*;/*** @version 1.34 2015-05-12* @author Cay Horstmann*/
public class FontTest
{public static void main(String[] args){EventQueue.invokeLater(() ->{JFrame frame = new FontFrame();frame.setTitle("FontTest");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);});}
}/*** A frame with a text message component*/
class FontFrame extends JFrame
{public FontFrame(){      add(new FontComponent());pack();}
}/*** A component that shows a centered message in a box.*/
class FontComponent extends JComponent
{private static final int DEFAULT_WIDTH = 300;private static final int DEFAULT_HEIGHT = 200;public void paintComponent(Graphics g){Graphics2D g2 = (Graphics2D) g;String message = "Hello, World!";
Font f = new Font("Serif", Font.BOLD, 36);g2.setFont(f);// measure the size of the messageFontRenderContext context = g2.getFontRenderContext();Rectangle2D bounds = f.getStringBounds(message, context);// set (x,y) = top left corner of textdouble x = (getWidth() - bounds.getWidth()) / 2;double y = (getHeight() - bounds.getHeight()) / 2;// add ascent to y to reach the baselinedouble ascent = -bounds.getY();double baseY = y + ascent;// draw the messageg2.drawString(message, (int) x, (int) baseY);g2.setPaint(Color.LIGHT_GRAY);// draw the baselineg2.draw(new Line2D.Double(x, baseY, x + bounds.getWidth(), baseY));// draw the enclosing rectangleRectangle2D rect = new Rectangle2D.Double(x, y, bounds.getWidth(), bounds.getHeight());g2.draw(rect);}public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); }
}

package font;import java.awt.*;
import java.awt.font.*;
import java.awt.geom.*;
import javax.swing.*;/*** @version 1.34 2015-05-12* @author Cay Horstmann*/
public class FontTest
{public static void main(String[] args){EventQueue.invokeLater(() ->{JFrame frame = new FontFrame();frame.setTitle("FontTest");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);});}
}/*** A frame with a text message component*/
class FontFrame extends JFrame
{public FontFrame(){      add(new FontComponent());pack();}
}/*** A component that shows a centered message in a box.*/
class FontComponent extends JComponent
{private static final int DEFAULT_WIDTH = 300;private static final int DEFAULT_HEIGHT = 200;public void paintComponent(Graphics g){Graphics2D g2 = (Graphics2D) g;String message = "Hello, World!";Font f = new Font("Serif", Font.BOLD, 36);g2.setFont(f);// measure the size of the messageFontRenderContext context = g2.getFontRenderContext();Rectangle2D bounds = f.getStringBounds(message, context);// set (x,y) = top left corner of textdouble x = (getWidth() - bounds.getWidth()) / 2;double y = (getHeight() - bounds.getHeight()) / 2;// add ascent to y to reach the baselinedouble ascent = -bounds.getY();double baseY = y + ascent;// draw the messageg2.drawString(message, (int) x, (int) baseY);g2.setPaint(Color.LIGHT_GRAY);// draw the baselineg2.draw(new Line2D.Double(x, baseY, x + bounds.getWidth(), baseY));// draw the enclosing rectangleRectangle2D rect = new Rectangle2D.Double(x, y, bounds.getWidth(), bounds.getHeight());g2.draw(rect);}public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); }
}

package font;import java.awt.*;
import java.awt.font.*;
import java.awt.geom.*;
import javax.swing.*;/*** @version 1.34 2015-05-12* @author Cay Horstmann*/
public class FontTest
{public static void main(String[] args){EventQueue.invokeLater(() ->{JFrame frame = new FontFrame();frame.setTitle("FontTest");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);});}
}/*** A frame with a text message component*/
class FontFrame extends JFrame
{public FontFrame(){      add(new FontComponent());pack();}
}/*** A component that shows a centered message in a box.*/
class FontComponent extends JComponent
{private static final int DEFAULT_WIDTH = 300;private static final int DEFAULT_HEIGHT = 200;public void paintComponent(Graphics g){Graphics2D g2 = (Graphics2D) g;String message = "Hello, World!";Font f = new Font("Serif", Font.BOLD, 36);g2.setFont(f);// measure the size of the messageFontRenderContext context = g2.getFontRenderContext();Rectangle2D bounds = f.getStringBounds(message, context);// set (x,y) = top left corner of textdouble x = (getWidth() - bounds.getWidth()) / 2;double y = (getHeight() - bounds.getHeight()) / 2;// add ascent to y to reach the baselinedouble ascent = -bounds.getY();double baseY = y + ascent;// draw the messageg2.drawString(message, (int) x, (int) baseY);g2.setPaint(Color.LIGHT_GRAY);// draw the baselineg2.draw(new Line2D.Double(x, baseY, x + bounds.getWidth(), baseY));// draw the enclosing rectangleRectangle2D rect = new Rectangle2D.Double(x, y, bounds.getWidth(), bounds.getHeight());g2.draw(rect);}public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); }
}

测试程序6:

l 在elipse IDE中调试运行教材436页-437程序10-6,结合程序运行结果理解程序;

l 了解2D图形图像的显示方法。

package image;import java.awt.*;
import javax.swing.*;/*** @version 1.34 2015-05-12* @author Cay Horstmann*/
public class ImageTest
{public static void main(String[] args){EventQueue.invokeLater(() ->{JFrame frame = new ImageFrame();frame.setTitle("ImageTest");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);});}
}/*** A frame with an image component*/
class ImageFrame extends JFrame
{public ImageFrame(){add(new ImageComponent());pack();}
}/*** A component that displays a tiled image*/
class ImageComponent extends JComponent
{private static final int DEFAULT_WIDTH = 300;private static final int DEFAULT_HEIGHT = 200;private Image image;public ImageComponent(){image = new ImageIcon("blue-ball.gif").getImage();}public void paintComponent(Graphics g){if (image == null) return;int imageWidth = image.getWidth(null);int imageHeight = image.getHeight(null);// draw the image in the upper-left cornerg.drawImage(image, 0, 0, null);// tile the image across the componentfor (int i = 0; i * imageWidth <= getWidth(); i++)for (int j = 0; j * imageHeight <= getHeight(); j++)if (i + j > 0) g.copyArea(0, 0, imageWidth, imageHeight, i * imageWidth, j * imageHeight);}public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); }
}

 

实验总结 :这次实验很明确地知道了,用java制作图的方法和很多不同的用法。

转载于:https://www.cnblogs.com/baimaciren/p/9965087.html

201771010101白玛次仁《面向对象程序设计(java)》第十二周实验总结相关推荐

  1. 面向对象程序设计——Java语言 第3周编程题 查找里程(10分)

    面向对象程序设计--Java语言 第3周编程题 查找里程(10分) 题目内容 下图为国内主要城市之间的公路里程: 你的程序要读入这样的一张表,然后,根据输入的两个城市的名称,给出这两个城市之间的里程. ...

  2. 面向对象程序设计上机练习十二(运算符重载)

    面向对象程序设计上机练习十二(运算符重载) Time Limit: 1000MS  Memory Limit: 65536KB Submit  Statistic Problem Descriptio ...

  3. 201771010118马昕璐《面向对象程序设计java》第八周学习总结

    第一部分:理论知识学习部分 1.接口 在Java程序设计语言中,接口不是类,而是对类的一组需求描述,由常量和一组抽象方法组成.Java为了克服单继承的缺点,Java使用了接口,一个类可以实现一个或多个 ...

  4. 201771010101 白玛次仁 《2018面向对象程序设计(Java)》第七周学习总结

    实验七 继承附加实验 实验时间 2018-10-11 1. 继承的概念: 继承在本职上是特殊--一般的关系,即常说的is-a关系.子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性 ...

  5. 201771010101 白玛次仁

    本人学号<面向对象程序设计(java)>第一周学习总结 第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.com 程序设计评测:ht ...

  6. 实验四 201771010101 白玛次仁

    实验四 类与对象的定义及 第一部分:理论部分 Java类库中的LocalDate类位于Java.Time包中 1.用户自定义类: 2.静态域与静态方法: 3.方法参数 4.对象构造 5.包 6.类路径 ...

  7. 201771010101 白玛次仁 《2018面向对象程序设计(Java)》第十周学习总结

    实验十  泛型程序设计技术 实验时间 2018-11-1 学习总结 泛型:也称参数化类型(parameterized type),就是在定义类.接口和方法时,通过类型参数指示将要处理的对象类型.(如A ...

  8. 201771010101 白玛次仁 《2018面向对象程序设计(Java)》第十三周学习总结

    实验十三  图形界面事件处理技术 实验时间 2018-11-22 学习总结: Compoment类提供的功能: –基本的绘画支持. –外形控制. –大小和位置控制. –图像处理. –组件状态控制 每个 ...

  9. 201771010101 白玛次仁《面向对象程序设计(Java)》第十一周学习总结

    实验十一   集合 实验时间 2018-11-8 1.实验目的与要求 (1) 掌握Vetor.Stack.Hashtable三个类的用途及常用API: (2) 了解java集合框架体系组成: (3)  ...

最新文章

  1. 解决django.db.utils.InternalError: (1049, Unknown database 'exam_db')
  2. springmvc二十七:springmvc-ResponseBody与ResponseEntity
  3. CV之路——opencv基本操作
  4. apache安装配置
  5. 怎么两边同时取ln_羊肉汤怎么炖才好喝?小猫教你这么做,做出来汤浓白,好喝无膻味...
  6. Metal:对开发者和用户来说意味着什么
  7. RocketMQ入门到入土(六)发消息的时候选择queue的算法有哪些?
  8. apache-xmlrpc-3.1.3-bin.tar.bz2
  9. java ajax教程_(转)JAVA AJAX教程第三章—AJAX详细讲解
  10. Java算法:经纬度转换 将百度转为高德经纬度
  11. 北大的戴威,为何输给了三本的胡玮炜?
  12. 手把手教你架构3D引擎高级篇系列一
  13. 怎么在node环境使用es6语法? bable有什么作用? 发布环境下移除console
  14. python自学之《21天学通Python》(2)
  15. vue element-ui 日期弹出框右侧被遮挡
  16. 计算机考研838难吗,838初试经验教训分享
  17. 可视化之circular barplot
  18. I - 母牛哥与子序列 所有非空子集的乘积之和 数学结论题
  19. MySQL 中的 SET 与 ENUM 类型使用详解
  20. Android SAX解析远程服务器端的xml,防止解析的时候出现空格或者标点符号再次解析的方法

热门文章

  1. 详解spring框架入门到精通
  2. python前端调用后端模型_【Python】【Flask】前端调用后端方法
  3. pyqt5 判断lineedit是否为空_是否注意过 isEmpty 和 isBlank 区别?
  4. 苹果6s最大屏幕尺寸_iPhone12来了,我决定给老苹果升级一下电池_电池
  5. linux成功mysql数据直接拷贝_mysql数据库数据从一个linux系统移植到另一个linux系统的方法...
  6. jqueryvar语句_你真的掌握变量和类型了吗
  7. 程序闪退_苹果APP日常使用时一直闪退怎么办?
  8. Linux中msiexec无法运行,使用msiexec.exe绕过应用程序白名单(多种方法)
  9. 内存颗粒和闪存颗粒的区别_NAND Flash闪存颗粒与SSD知识深度解析
  10. Mac安装MySQL后,设置初始密码