关于自己在学习java路程上的所思所想(二)

1.发现绝对路径可以e:/a.txt,也可以e:\a.txt(作为字符串要双反斜杠e:\\a.txt)这样写。

2.批处理和事务的区别:
    批处理可以提升运行
    事务是逻辑上的最小操作

3.各种和开发有关的目录最好用英文,要不然会死得很惨。。

4.类似于this.getclass().getResource("a.txt").getPath().  a.txt文件是在类的字节码文件的目录下的(不和包同目录,在包里面的字节码文件那一级)。

5.关于java图形用户界面里,发生事件时监听器中的方法中最好别添加组件,否则每次放大,缩小边框或者做某些动作时都会再次添加该组件,原因不知道。。

下面两个例子是我以前学swing时碰见的

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class E16_13 extends JFrame
{
private int i = 0;
private JLabel jl;
public static void main(String[] args)
{
E16_13 frame = new E16_13();
frame.setTitle("E16_13");
frame.setSize(800,600);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public E16_13()
{
Timer timer = new Timer(1000, new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jl = new JLabel(new ImageIcon("image/slide" + i + ".jpg"));
add(jl);                                  //以上都是废话,这里是重点
i++;
i = i%25;
}
});
timer.start();
}

}


下面这个程序也是,在paintComponent里我放了个按钮但也是显示不出来,最大化的时候又突然出来了,还原,又多出来一个按钮。

import javax.swing.*;
import java.awt.*;


public class E15_11 extends JFrame
{
public E15_11()
{
add(new NewPanel());
}
public static void main(String[] args)
{
E15_11 frame = new E15_11();
frame.setTitle("E15_11");
frame.setSize(900,900);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class NewPanel extends JPanel
{
public NewPanel()
{
}
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
int width = getWidth();
int height = getHeight();
g.drawLine(width/2,height, width/2, height/4);
int[] x1 = {width/2-3,width/2,width/2+3};
int[] y1 = {height/4+3,height/4,height/4+3};
g.drawPolyline(x1,y1,x1.length);
g.drawLine(20,height-50,width-50,height-50);
int[] x2 = {width-53,width-50,width-53};
int[] y2 = {height-53,height-50,height-47};
g.drawPolyline(x2,y2,x2.length);
int[] x3 = new int[301];
int[] y3 = new int[301];
for(int i = 0; i<301; i++)
{
x3[i] = width/2-150+i;
y3[i] = height-50-(int)(0.01*(150-i)*(150-i));
}
g.drawPolyline(x3,y3,x3.length);
add(new JButton("xuechong"));            //以上都是废话,这里是重点
}
}



6.Object value = rs.getObject(columnName);
BeanUtils.copyProperty(t, columnName, value);    (t是对象)

这中间是如何解决强转问题的?(如果在javabean中,是t.setXX(XX xx),输入不了Object对象,需要强转成XX对象,但是以上是如何解决的?反射吗?不清楚)



-----------------------------------------------------分割线--------------------------------------------------------------------


有些问题是以前学swing遗留下来的,也问了很多人,没人给我解答,以后尽量博客里写自己每天的学习总结,整理思绪


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值