字符串方法之查找方法:
String a;
indexOf(“fdf”)==(-1)
不含有
Checkbox
(String label, CheckboxGroup group, boolean state)
创建具有指定标签的 Checkbox,并使它处于指定复选框组内,将它设置为指定状态
validate
()
验证此容器及其所有子组件。?
P115运行没有结果
ArrayList是类似于Vector的类
Rectangle2D
类描述通过位置 (x,y)
和尺寸 (w x h)
定义的矩形
Paintcomponent
如果 UI 委托为非 null
,则调用该 UI 委托的 paint 方法。向该委托传递 Graphics
对象的副本,以保护其余的 paint 代码免遭不可取消的更改(例如 Graphics.translate
)。
????????????????????????????????????????????????????????????????????????????????
paintComponent为什么在程序中不能通过alt+c自动生成????????
super.paintComponent(g);
super paintComponent(g)既然super是分类,那是否可以省去呢?????????????
此 Graphics2D
类扩展 Graphics
类,以提供对几何形状、坐标转换、颜色管理和文本布局更为复杂的控制。它是用于在 Java(tm) 平台上呈现二维形状、文本和图像的基础类
ArrayList。Remove()
移除此列表中首次出现的指定元素(如果存在)。如果列表不包含此元素,则列表不做改动。更确切地讲,移除满足 (o==null ? get(i)==null : o.equals(get(i))) 的最低索引的元素(如果存在此类元素)。如果列表中包含指定的元素,则返回 true(或者等同于这种情况:如果列表由于调用而发生更改,则返回 true)。
repaint();
repaint()
????????????????
Final关键字的用法
1:final修饰成员变量
防止变量的内容被修改,经过final修饰后,变量就成了常量
2:final修饰成员方法
当一个方法被final修饰后,则该方法不能被子类重写
3:final修饰类
一个类被fianl修饰后,则该类不能被继承
书中关于swing的知识存在滞后:在jframe中添加控件可以不用container容器了
1:为什么可以省略类的名字,直接写方法?在存在继承关系的类中?
推测:是表示当前继承父类的方法
那么在继承FRAME的类中,如果没有frame构造方法,那窗体是怎样产生的???????
Private:
一个类中被限定为private的成员,只能被这个类本身访问;
如果一个类的构造方法为private则不可被实例化
一个内部类的对象可访问外部类的成员方法和变量,包括私有的成员
内部内中直接写方法,表示的对象是内部类的父类还是,外部大类???????
如果是外部大类,那么为什么????
current=find(event.getPoint());
find是外部类的方法
super.paintComponent(g)比较困惑,这句话什么意思?????????
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
for (int i = 0; i < squares.size(); i++) {
g2.draw((Rectangle2D) squares.get(i));
}
}
??????????????????????????????????
repaint
public void repaint()
重绘此组件。
如果此组件是轻量级组件,则此方法会尽快调用此组件的 paint 方法。否则此方法会尽快调用此组件的 update 方法
这里是不是调用了paintComponent方法????
我把例子中的
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
for (int i = 0; i < squares.size(); i++) {
g2.draw((Rectangle2D) squares.get(i));
}
}
paintComponent全部转换成了paint照样运行
public void remove(Rectangle2D s) {
if (s == null)
return;
if (s == current)
current = null;
squares.remove(s);
repaint();
}
为什么current可以直接使用,其实因为它是static类型的,那么和省略类名的方法是同种类型的
private class MouseMotionHandler implements MouseMotionListener
dragged moved都应该能在adapter中实现那为什么再来一个类,难道是为了讲解事件驱动的方法类型?