`
时间被海绵吃了
  • 浏览: 6251 次
  • 性别: Icon_minigender_1
  • 来自: 湖北
文章分类
社区版块
存档分类
最新评论
文章列表
因特殊原因,现已将此iteye的博客转移到csdn中。 地址:http://blog.csdn.net/sunhengzhe
首先是访问控制的关键字,分public、protected、default、private四种,权限如下: (权限)      public      protected     default     private同一类中      ok            ok           ok          ok同一包中      ok            ok           ok             子类中        ok            ok           不同包中      ok public的权限是最大的,private权限最小 下面是一些常用的关键 ...
之前的画图板重绘功能是用每个形状的信息存储的(具体见前一篇博客),但是我们发现这样做既让代码冗长,又会出现很多错误,所以我们采用新的方法来重绘,这里就利用了Java里面向对象的思想。 首先是将自定义队列List进行改进,让这个队列不再存储很乱的信息像既有坐标又有颜色什么的,而是直接将一个形状封装成一个对象存储进队列,这样画一个形状存储一个,既不会出现前一篇博客中的类转换异常,又使代码简洁。 以直线举例: if("line".equals(shape_command)) { if(x1!=x2&&y1!=y2) { shape = n ...
画图板的功能还在日趋完善,现在正在努力实现利用自定义队列存储绘图信息然后重绘的功能,在实现这个功能的过程中,遇到的最多的异常就是java.lang.ClassCastException了, 造成这个异常的原因就是重绘时读取存储的信息时出现了错误,导致一些类赋值时不匹配。 就拿直线来说,我们要保存直线的信息,需要在每次画完直线时存储这条直线的信息,即在鼠标释放(MouseReleased)里面添加直线的首尾两个点的坐标、用于判断图形类型的标识符、图像线条的粗细以及直线的颜色。代码如下: ( 其中x1,y1为直线的第一个点即鼠标按下的点的坐标,list为用于存放信息的自定义队列。) // ...
    当需要保存一些无法判断到底有多少数量的数据时,普通数组已经无法满足这种需求,这是我们可以自定义一个类来实现这个功能。     这种方法本质上是使用两个数组,一个用来被调用,另一个是每次都会新建的数组,这样每次用户想添加元素或删除元素时,可以新建一个更大的或更小的数组,然后满足需求后再给被调用的数组。比如添加元素的方法: public class MyList { private int[] srcArray = new int[0]; //用户使用的数组 //在数组的最后添加元素的方法 public void add(int ...
1、改变画笔的大小是Graphics所不具有的,应该创建一个Graphics2D对象,他是Graphics的子类, 然后调用其setStroke()方法,而setStroke()需要一个Stroke做参数,但是Stroke类是一个接口,所以我们转用一个BasicStroke来实现他。 所以方法如下,5为画笔的大小。 Graphics2D g2 = (Graphics2D) g; g2.setStroke(new BasicStroke(5)); 2、实现颜色选取器的时候需要获取用户单击点处的颜色,获取指定点颜色的方法是Robot类里的getPixelColor(int a,int b ...
仿xp系统的画图板还在继续,这期间也碰到了一些问题并及时解决了,现整理如下: (一)调整窗体中组件大小的方法和添加图标的方法   1.在画图板上我们需要添加许多大大小小的按钮,并往里面添加图片,这里就需要用到按钮调整大小的方法,然而我们发现当调用button.setSize()的时候并没有改变按钮的大小,这是因为setSize只能用于顶级容器,当一些组件需要改变的时候应该调用的是其setPreferred()方法,使用方法如下:   button.setPreferredSize(new Dimension(25,25));   2.当按钮调节完毕后就需要往里面添加图片了,这里需要两个步骤:一 ...
在华信已经上了三节课了,感觉收获还挺多的,虽然我之前也看过一些Java的教学视频,但是毕竟只是视频里讲,我有疑问也不能找里面的老师解答,所以很多东西都是死记硬背型的。 而在这里的几节课很多疑问都得到了解答 比如以前我使用事件监听的时候都是在类后面使用implements 实现接口,不知道还可以使用匿名内部类。 *********以前只会用******* public class Test implements ActionListener {        //方法的重写        public void actionPerformed(ActionEvent e)        {   ...
这是一个简单的登录窗口,实现点击按钮响应事件,并弹出另一个窗口 import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPasswordField; import javax.swing.JTextField; public class QQ20 ...
Global site tag (gtag.js) - Google Analytics