一些小感想和我的收获
在华信已经上了三节课了,感觉收获还挺多的,虽然我之前也看过一些Java的教学视频,但是毕竟只是视频里讲,我有疑问也不能找里面的老师解答,所以很多东西都是死记硬背型的。
而在这里的几节课很多疑问都得到了解答
比如以前我使用事件监听的时候都是在类后面使用implements 实现接口,不知道还可以使用匿名内部类。
*********以前只会用*******
public class Test implements ActionListener {
//方法的重写
public void actionPerformed(ActionEvent e)
{
//响应事件后的处理办法
}
}
*********现在知道了*******
public class Test {
//创建动作事件监听器,使用的原理是匿名内部类
ActionListener action_listener = new ActionListener(){
//方法的重写
public void actionPerformed(ActionEvent e)
{
//响应事件后的处理办法
}
};
//为组件添加监听器
button.addActionListener(action_listener);
}
还有画布的使用我以前也只局限于使用一个Panel类继承JPanel然后重写它的paint方法,在里面使用Graphics类,现在我知道其实可以自己创建一个画布类然后很方便的就能用了
*****************以前只会用******************
//这种方法就是我死记硬背的,我还以为Graphics是JPanel里面独有的,现在看来真是大错特错
class MyPanel extends JPanel{
public void paint(Graphics g)
{
//在里面使用g的方法实现画图
super.paint(g);
g.drawLine(100,100,200,200);
}
}
****************现在学会了********************
public class Test {
public void showUI()
{
JFrame frame = new JFrame();
//frame的其他属性在此省略。
//特别注意事项是Graphics的获取一定要放在frame的可见之后!因为这个问题导致了编译未通过,提示空指针异常
frame.setVisible(true);
Graphics g = frame.getGraphics();
//还有g的获取使用谁的getGraphics方法应该取决于是想在谁的上面绘画,因为这个问题导致了我的画图板坐标有偏移
//然后就可以愉快的画图了
g.drawLine(20,20,100,200);
}
}