会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132419个问题
JAVA 全系列/第十八阶段:亿级高并发电商项目_架构/编码(旧)/电商:基于SpringSecurity实现后台登录功能 32896楼
JAVA 全系列/第十八阶段:亿级高并发电商项目_架构/编码(旧)/电商:基于SpringSecurity实现后台登录功能 32897楼

老师,你看这个是按照上面敲得,有按钮,但是按钮没反应,也不报错,这是怎么回事?

# 开发画笔软件
from tkinter.filedialog import *
from tkinter.colorchooser import *

win_width=900;win_height=450

class Application(Frame):
    def __init__(self,master=None,bg='#000000'):
        super().__init__(master)
        self.x = 0
        self.y = 0
        self.bg=bg
        self.fg='#ff0000'
        self.lastDraw=0
        self.starDrawFlag=False
        self.pack()
        self.createWidget()

    def createWidget(self):
        # 绘图区
        self.drawpad = Canvas(self,width=win_width,
                height=win_height*0.9,bg=self.bg)
        self.drawpad.pack()

        # 设定按钮
        btn_start=Button(self,text='开始',name='start')
        btn_start.pack(side='left',padx='10')
        btn_pen = Button(self, text='画笔', name='pen')
        btn_pen.pack(side='left', padx='10')
        btn_rect = Button(self, text='矩形', name='rect')
        btn_rect.pack(side='left', padx='10')
        btn_clear = Button(self, text='清屏', name='clear')
        btn_clear.pack(side='left', padx='10')
        btn_eraser = Button(self, text='橡皮擦', name='eraser')
        btn_eraser.pack(side='left', padx='10')
        btn_line = Button(self, text='直线', name='line')
        btn_line.pack(side='left', padx='10')
        btn_lineArrow = Button(self, text='箭头直线', name='lineArrow')
        btn_lineArrow.pack(side='left', padx='10')
        btn_color = Button(self, text='颜色', name='color')
        btn_color.pack(side='left', padx='10')

        # 事件处理
        btn_pen.bind_class('Button','<1>',self.eventManager)
        self.drawpad.bind('<ButtonRelease-1>',self.stopDraw)

        # 增加颜色切换的快捷键
        root.bind('<KeyPress-r>',self.kuaijiejian)
        root.bind('<KeyPress-g>', self.kuaijiejian)
        root.bind('<KeyPress-y>', self.kuaijiejian)

    def eventManager(self,event):
        name=event.widget.winfo_name()
        if name == 'line':
            self.drawpad.bind('<B1-Motion>',self.myline)
        elif name == 'lineArrow':
            self.drawpad.bind('<B1-Motion>',self.mylineArrow)
        elif name == 'rect':
            self.drawpad.bind('<B1-Motion>',self.myrect)
        elif name == 'pen':
            self.drawpad.bind('<B1-Motion>',self.mypen)
        elif name == 'eraser':
            self.drawpad.bind('<B1-Motion>',self.myeraser)
        elif name == 'clear':
            self.drawpad.delete('all')
        elif name == 'color':
            c = askcolor(color=self.fg,title='选择画笔颜色')
            self.fg=c[1]

    def stopDraw(self,event):
        self.startDrawFlag=False
        self.lastDraw=0

    def startDraw(self,event):
        self.drawpad.delete(self.lastDraw)
        if not self.startDrawFlag:
            self.starDrawFlag=True
            self.x=event.x
            self.y=event.y

    def myline(self,event):
        self.startDraw(event)
        self.lastDraw=self.drawpad.\
            create_line(self.x,self.y,event.x,event.y,fill=self.fg)

    def mylineArrow(self,event):
        self.startDraw(event)
        self.lastDraw=self.drawpad.create_line(self.x,self.y,
                    event.x,event.y,arrow=LAST,fill=self.fg)

    def myrect(self,event):
        self.startDraw(event)
        self.lastDraw=self.drawpad.create_rectangle(self.x,self.y,
                    event.x,event.y,outline=self.fg)

    def mypen(self,event):
        self.startDraw(event)
        self.drawpad.create_line(self.x,self.y,event.x,event.y,
                    fill=self.fg)
        self.x=event.x
        self.y=event.y

    def myeraser(self,event):
        self.startDraw(event)
        self.drawpad.create_rectangle(event.x-4,event.y-4,
                    event.x+4,event.y+4,fill=self.bg)
        self.x=event.x
        self.y=event.y

    def kuaijiejian(self,event):
        if event.char=='r':
            self.fg='#ff0000'
        elif event.char=='g':
            self.fg='#00ff00'
        elif event.char=='y':
            self.fg='#ffff00'

if __name__ == '__main__':
    root=Tk();root.geometry(str(win_width)+'x'+str(win_height)+'+200+300')
    root.title('百战程序员的画图软件')
    app=Application(master=root)
    root.mainloop()


Python 全系列/第二阶段:Python 深入与提高/GUI编程(隐藏) 32900楼
Python 全系列/第一阶段:Python入门/控制语句 32901楼
Python 全系列/第二阶段:Python 深入与提高/文件处理 32904楼

jQuery案例操作.zip

麻烦老师看看,谢谢!

Python 全系列/第七阶段:网页编程基础/jquery 32908楼

老师我这个导包应该没问题吧,但还是无法初始化类,请老师指点

报错信息image.png

源码:

package jdbcDemo2;


import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;


public class TestJdbc {

public void InsertDepartments(String department_name , int location_id){

Connection conn=null;

Statement state=null;

ResultSet rs=null;

try{

conn=JdbcUtilPro.getConnection();

String sql="insert into departments values(default,department_name'"+department_name+"',location_id'"+location_id+"')";

state=conn.createStatement();

int flat=state.executeUpdate(sql);

System.out.println(flat);

}catch(SQLException e){

e.printStackTrace();

}finally{

JdbcUtilPro.closeResource(state, conn,null);

}

}

public static void main(String[] args){

TestJdbc test=new TestJdbc();

test.InsertDepartments("aaa", 22);

}

}



jdbc.properties如下

image.png



package jdbcDemo2;


import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ResourceBundle;



public class JdbcUtilPro {

//抽取常量串

private static String driver;

private static String url;

private static String username;

private static String password;

static{

ResourceBundle bundle=ResourceBundle.getBundle("jdbc");

driver=bundle.getString(driver);

url=bundle.getString(url);

username=bundle.getString(username);

password=bundle.getString(password);

try {

//注册驱动

Class.forName(driver);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

//获取Connection对象

public static Connection getConnection(){

Connection conn=null;

try{

//建立连接

conn=DriverManager.getConnection(url, username, password);

}catch(SQLException e){

e.printStackTrace();

}

return conn;

}

//关闭Statement对象

public static void closeStatement(Statement state){

try{

if(state!=null){

state.close();

}

}catch(SQLException e){

e.printStackTrace();

}

}

//关闭Connection对象

public static void closeConnection(Connection conn){

try{

if(conn!=null){

conn.close();

}

}catch(Exception e){

e.printStackTrace();

}

}

//关闭ResultSet对象

public static void closeResultSet(ResultSet rs){

try{

if(rs!=null){

rs.close();

}

}catch(Exception e){

e.printStackTrace();

}

}

//关闭资源

public static void closeResource(Statement state,Connection conn,ResultSet rs){

closeStatement(state);

closeConnection(conn);

closeResultSet(rs);

}

}


JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 32909楼
Python 全系列/第一阶段:Python入门/面向对象 32910楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637