您的位置:首页 > 其它

信息管理系统开发遇到的问题

2017-02-26 22:56 357 查看

加this和不加this的区别

this是指的对象本身,通过this可以调用本对象拥有的所有方法和属性,当然不加this也可以调用。

一般用this的情况:

1.当局部变量与成员变量相同名时,例如 this,x = x;this.x 是个成员变量,而x是个局部变量

2.在myeclipse下用this可以提示后面的方法或者成员变量

3. 在内部类或匿名内部类中使用this来指向内部类本身


pingpuItem.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
JInternalFrame[] allFrames = desktopPanel.getAllFrames();
int x = 0 ;
int y = 0 ;
for(JInternalFrame frame : allFrames){
frame.setLocation(x, y);
try {
frame.setSelected(true);
} catch (PropertyVetoException e1) {
e1.printStackTrace();
}
int frameH = frame.getPreferredSize().height ;
int panelH = frame.getContentPane().getHeight();
int fSpace = frameH - panelH ;
x += fSpace ;
y += fSpace ;
if(x + getWidth()/2 > desktopPanel.getWidth())
x = 0 ;
if(y + getHeight()/2 > desktopPanel.getHeight())
y = 0 ;
}

}
});
上面的getWidth()不加this指的是调用外部类ToolBar的函数,加this的话指的是匿名类ActionListener中的函数
4.  将类本省作为参数传递


private JMenu getChuang_kouMenu() {
if(chuang_kouMenu == null ){
chuang_kouMenu = new JMenu("窗口");
chuang_kouMenu.setMnemonic(KeyEvent.VK_W);
chuang_kouMenu.add(getPingpuItem());//打开项目时就建立了菜单项
chuang_kouMenu.addMenuListener(new MenuListener() {

@Override
public void menuSelected(MenuEvent e) {

//chuang_kouMenu.removeAll();
//System.out.println("加载item");
chuang_kouMenu.add(getPingpuItem());//动态加载菜单项
chuang_kouMenu.add(getClassAllItem());
chuang_kouMenu.add(getAllIconItem());
chuang_kouMenu.add(getAllResumeItem());

}


连接池资源关闭问题



在进行第三次添加的时候,发现软件卡住了,后来发现是连接池的问题,连接池每次连接都没有释放连接,达到最大连接数就出现了问题,因此一定要关闭资源!!

还有要注意关闭顺序,还有如果先关闭Connection,ResultSet的对象是不能使用的

if判断下如果不止一条语句一定要加括号!!

在往数据库中插入时出现

Duplicate entry ‘10’ for key ‘PRIMARY’ ,10是在id那一列,每次去id最大值然后加1插入新行,当插入第10行时,每次取之前最大id即max(id)都是9,是因为类型是varchar类型,改为int类型即可,注意

在取值的时候,如果还用rs.getString(1)会自动将int转化为String类型取出
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: