thisaddMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
if(egetClickCount()==2){
Systemexit(0);
}
}
});
使用 Frame 控件
Frame(框架)控件可以用来对其他控件进行分组,以便于用户识别。使用框架控件可以将一个窗体中的各种功能进一步进行分类,例如,将各种选项按钮控件分隔开。
在大多数的情况下,框架控件的用法是比较“消极的”,我们用它对控件进行分组,但是通常没有必要响应它的事件。不过,它的 Name、Caption 和Font 属性是经常被修改的。
详细信息 请参阅第三章“窗体、控件和菜单”中的“使用选项按钮分组选项”,该部分简单地演示了如何使用框架控件对选项按钮进行分组。
在窗体中添加一个 Frame 控件
在使用框架控件分组其他选项的时候,请首先绘出框架控件,然后再绘制它内部的其他控件。这样在移动框架的时候,可以同时移动它包含的控件。
在框架内部控制控件
要将控件加入到框架中,只需将它们绘制在框架的内部即可。如果将控件绘制在框架之外,或者在向窗体添加控件的时候使用了双击方法,然后将它移动到框架控件内部,那么控件将仅仅“位于”框架的顶部,在进行移动的时候将不得不分别移动框架和控件。
注意 如果希望将已经存在的若干控件放在某个框架中,可以先选择所有控件,将它们剪贴到剪贴板上,然后选定框架控件并把它们粘贴到框架上。
选择框架中的多个控件
要选择框架中的多个控件,在使用鼠标拉框包围控件的时候需要按下 CTRL键。在释放鼠标的时候,位于框架之内的控件将被选定,
使用 Microsoft Hierarchical FlexGrid 控件
Microsoft Hierarchical FlexGrid (MSHFlexGrid) 和 Microsoft FlexGrid(MSFlexGrid) 控件以网格的形式显示 Recordset 数据,数据可以来自单个表或者多个表。
Hierarchical FlexGrid 控件提供了在网格中显示数据的高级功能。它与Microsoft Data Bound 网格 (DataGrid) 控件类似,但也有显著区别:Hierarchical FlexGrid 控件不允许用户对它绑定或包含的数据进行我。因此,这种控件在显示数据的同时能够确保原始数据的安全,使数据不被用户修改。不过,通过将它与文本框结合起来使用,Hierarchical FlexGrid 控件的单元格我能力也是可以实现的。
尽管 Hierarchical FlexGrid 控件是Visual Basic 50 中使用的 FlexGrid 控件,Hierarchical FlexGrid 控件是比较灵活的。Hierarchical FlexGrid 控件还提供了更多的显示选项,利用这些选项我们可以定义出最适合于自己需要的自定义格式。
这里的各个主题主要集中在如何使用 Hierarchical FlexGrid 上。关于早期的FlexGrid 控件的详细信息,请参阅有关的 Visual Basic 50 文档。
Visual Basic 的 FlexGrid 控件
1只读的数据绑定。
2动态重新安排列和行。
3在进行列调整的过程中重新对数据进行分组。
4利用现有的、为 DBGrid 控件编写的 Visual Basic 代码。
5每个单元格中可以包含文本、或者同时包含文本和。
6在代码中或者在运行时defRunTime改变当前的单元格文本。
7当 Hierarchical FlexGrid 被指派到一个数据控件时,自动读取数据。
8单元格中的文本换行功能。
9当控件的 DataSource 和 DataMember 属性被绑定到特定的数据提供者时,提供 ActiveX Data Binding。
10通过 Visual Basic 中的 Data Binding Manager 进行绑定。
11直接绑定到Command 分层结构中的分组的和相关的 ADO Recordsets。
12当 Hierarchical FlexGrid 被绑定到一个 Recordsets 分层结构时,提供其他显示选项。这些附加的选项支持以多种方式显示分组的和相关的Recordsets,包括带区。
注意 如果要利用标记了星号 () 的功能,必须使用 HierarchicalFlexGrid 控件。这些功能是 FlexGrid 控件所没有的。
由于以往的 FlexGrid 控件的某些局限,该控件不能够访问包括带区在内的某些功能。如果希望访问所有的功能,在创建新的数据绑定网格控件的时候,建议使用 Hierarchical FlexGrid 控件。FlexGrid 控件不能够自动升级到 Hierarchical FlexGrid 控件。
Python对于Excel的 *** 作是多种多样的,掌握了相关用法就可以随心所欲的 *** 作数据了!
*** 作xls文件
xlrd(读 *** 作):
import xlrd
1、引入xlrd模块
workbook=xlrdopen_workbook("36xls")
2、打开[36xls]文件,获取excel文件的workbook(工作簿)对象
names=workbooksheet_names()
3、获取所有sheet的名字
worksheet=workbooksheet_by_index(0)
4、通过sheet索引获得sheet对象
worksheet为excel表第一个sheet表的实例化对象
worksheet=workbooksheet_by_name("各省市")
5、通过sheet名获得sheet对象
worksheet为excel表sheet名为各省市的实例化对象
nrows=worksheetnrows
6、获取该表的总行数
ncols=worksheetncols
7、获取该表的总列数
row_data=worksheetrow_values(n)
8、获取该表第n行的内容
col_data=worksheetcol_values(n)
9、获取该表第n列的内容
cell_value=worksheetcell_value(i,j)
10、获取该表第i行第j列的单元格内容
xlwt(写 *** 作):
import xlwt
1、引入xlwt模块
book=xlwtWorkbook(encoding="utf-8")
2、创建一个Workbook对象,相当于创建了一个Excel文件
sheet = bookadd_sheet('test')
3、创建一个sheet对象,一个sheet对象对应Excel文件中的一张表格。
sheetwrite(i, j, '各省市')
4、向sheet表的第i行第j列,写入'各省市'
booksave('Data\\36xls')
5、保存为Data目录下36xls文件
*** 作xlsx文件
openpyxl(读 *** 作):
import openpyxl
1、引入openpyxl模块
workbook=openpyxlload_workbook("36xlsx")
2、打开[36xlsx]文件,获取excel文件的workbook(工作簿)对象
names=workbooksheetnames
worksheet=workbookworksheets[0]
worksheet=workbook["各省市"]
ws = workbookactive
6、获取当前活跃的worksheet,默认就是第一个worksheet
nrows=worksheetmax_row
7、获取该表的总行数
ncols=worksheetmax_column
8、获取该表的总列数
content_A1= worksheet['A1']value
9、获取该表A1单元格的内容
content_A1=worksheetcell(row=1,column=1)value
10、获取该表第1列第1列的内容
openpyxl(写 *** 作):
workbook=openpyxlWorkbook()worksheet = workbookactive
3、获取当前活跃的worksheet,默认就是第一个worksheet
worksheettitle="test"
4、worksheet的名称设置为"test"
worksheet = workbookcreate_sheet()
5、创建一个新的sheet表,默认插在工作簿末尾
worksheetcell(i,j,'空')
6、第i行第j列的值改成'空'
worksheet["B2"]="空"
7、将B2的值改成'空'
worksheetinsert_cols(1)
8、在第一列之前插入一列
worksheetappend(["新增","台湾省"])
9、添加行
workbooksave("Data\\36xlsx")
10、保存为Data目录下36xlsx文件
pandas处理excel文件
pandas *** 作:
import pandas as pd
1、引入pandas模块
data = pdread_excel('36xls')
2、读取[36xls]或者[36xlsx]文件
data = pdread_csv('36csv')
3、读取[36csv]文件
data=datadropna(subset=['店铺'])
4、过滤掉data店铺列有缺失的数据
datasort_values("客户网名", inplace=True)
5、将data数据按照客户网名列进行从小到大排序
data = pdread_csv(36csv, skiprows = [0,1,2],sep = None, skipfooter = 4)
6、读取[36csv]文件,前三行和后四行的数据略过
data = datafillna('空')
7、将data中的空白处填充成'空'
datadrop_duplicates('订单','first',inplace=True)
8、data中的数据,按照订单列做去重处理,保留第一条数据
data=pdDataFrame(data,columns=['订单','仓库'])
9、只保留data中订单仓库列的数据
data = data[(data[u'展现量'] > 0)]
10、只保留展现量列中大于0的数据
data= data[data["订单"]strcontains('000')]
11、只保留订单列中包含'000'的数据
data= data[data["仓库"]=='正品仓']
12、只保留仓库列是'正品仓'的数据
xs= data[data["店铺"]=='南极人']['销售额']
13、获取店铺是南极人的销售额数据
data['订单'] = data['订单']str[3:7]
14、订单列的值只保留4-8个字节的值
data["邮资"] = npwhere((data['店铺']strcontains('T|t')) & -(data['仓库'] == '代发仓'), 8, data['邮资'])
15、满足店铺列包含 T 或 t 并且仓库不等于'代发仓'的话,将邮资的值改成8,否则值不变
data = nparray(data)tolist()
16、将data从DataFrame转换成列表
data=pdDataFrame(data)
17、将列表转换成DataFrame格式
zhan = data[u'展现']sum()round(2)
18、将data中所有展现列数据求和,并取两位小数
sum=datagroupby(['店铺'])['刷单']sum()
19、将data中按照店铺对刷单进行求和
counts=data['店铺']value_counts()
20、将data按照店铺进行计算
avg=datagroupby(['店铺'])['刷单']mean()
21、将data按照店铺对刷单进行求平均数
count = pdconcat([counts,sum], axis=1, ignore_index=True, sort=True)
22、将counts和sum两个DataFrame进行了组合
count=countrename(index=str, columns={0: "订单", 1: "成本"})
23、将新生成的DataFrame列名进行修改
data = pdmerge(sum, counts, how='left', left_on='店铺', right_on='店铺')
24、将列表转换成DataFrame格式
from openpyxl import Workbook
wb=Workbook()
ws1=wbactive
datato_excel('36xlsx')
wbclose()
25、data完整的写入到关闭过程,执行此 *** 作的时候36xlsx不能是打开状态
excel格式 *** 作
样式处理:
1、打开36xlsx
sheet=workbookworksheets[0]
2、将第一个sheet对象赋值给sheet
sheetcolumn_dimensions['A']width = 200
3、将A列的宽度设置为20
sheetrow_dismensions[1]height = 200
4、将第一行的行高设置为20
sheetmerge_cells('A1:A2')
5、将sheet表A1和A2单元格合并
sheetunmerge_cells('A1:A2')
6、将sheet表A1和A2单元格取消合并
sheetinsert_rows(2,2)
7、将sheet表从第2行插入2行
sheetinsert_cols(3,2)
8、将sheet表从第3列插入2列
sheetdelete_rows(2)
9、删除第2行
sheetdelete_cols(3, 2)
10、将sheet表从第3列开始删除2列
from openpyxlstyles import Font, Border, PatternFill, colors, Alignment
11、分别引入字体、边框、图案填充、颜色、对齐方式
sheetcell(i,j)font = Font(name='Times New Roman', size=14, bold=True, color=colorsWHITE)
12、设置sheet表第 i 行第 j 列的字体
sheetcell(i,j)alignment = Alignment(horizontal='center', vertical='center')
13、设置sheet表第 i 行第 j 列的字体对齐方式
left, right, top, bottom = [Side(style='thin', color='000000')] 4sheetcell(i,j)border = Border(left=left, right=right, top=top, bottom=bottom)
14、引入边框样式并调用
fill = PatternFill("solid", fgColor="1874CD")sheetcell(1,j)fill = fill
15、引入填充样式,并调用
import xlrd
from openpyxl import Workbook
from openpyxl import load_workbook
workbook=load_workbook(filename='C:/Users/EDZ/Desktop/工作/20210803/大兄弟xlsx')
sheet=workbookactive
sheetinsert_cols(idx=1)
sheetmerge_cells(A1:A3)
sheet['A1']=['上海','山东','浙江']
先创建一个6行4列的DataFrame数据框
使用iloc方法,提取第四行数据:
我们可以看一下,这种方法得到的返回值是一个series数据
返回4-5行,1-2列数据,用下面的写法,你可以看到跟array的切片 *** 作是一模一样的额
首先有个概念,循环中的变量是i,每次循环之后都会更新i的值,直到循环结束。循环中i的取值范围在1:5。
循环中,每次循环都打印出i的结果。
循环结束后,i不再更新,打印i输出的就是i最后一次的取值,并且一直都是这个值,除非你再次给i赋值。
第二个问题,我不知到是不是这个意思,你需要保存每一步循环中得到的结果,最后在循环结束之后全部把它们输出出来。
我就按我理解的这个意思写一下。
t<-array()
for(i in 1:5) t[i]<-i
a<-list(t);a
希望对你有帮助。
以上就是关于如何实现JAVA读取地磅数据并在frame窗体中显示全部的内容,包括:如何实现JAVA读取地磅数据并在frame窗体中显示、vbFrame控件的使用、python对excel *** 作等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)