等程序调用完界面显示又恢复了正常!!!!!!独立线程例如时间在界面的更新也运行正常了,有知道怎么回事的高手吗?
解决方案 »
- java布局
- 新手求助Hashmap的问题
- 24点用JAVA实现
- 我用JAVA连ORACLE时出错啊
- 怎样在linux中设置java的路径啊????
- Vector问题
- 《java core》第六版书上的例子有没有现成的代码?
- 怎样在struts-1.1-b3中添加资源文件(ApplicationResources.properties)?
- ××××××××××××请教关于request的问题×××××××××××××××
- 项目大合作@java版 最近进展怎么样了? 怎么好像没人出来组织了??
- 方法内使用 new Thread() 是什么意思,有什么好处
- ?请问打印在屏幕上和文件中为什么结果不同呢
SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
jTable1.setModel(new JDBCTableModel (conn, (String)jComboBox1.getSelectedItem()));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
String ratedCurrentStr = ratedCapacityTxt.getText();
float ratedCurrentFlt = (float) (Float.parseFloat(ratedCurrentStr));
selectChange = stmt.executeQuery("select * from 整点数据 where 时间 >='"+startTime+"' " +
"and 时间<='"+endTime+"'and 设备号='"+sortedList.getSelectedValue().toString()+"'");
if (selectChange.last()){
aPhaseVol = new String[selectChange.getRow()];
bPhaseVol = new String[selectChange.getRow()];
cPhaseVol = new String[selectChange.getRow()];
aPhaseCurrent = new String[selectChange.getRow()];
bPhaseCurrent = new String[selectChange.getRow()];
cPhaseCurrent = new String[selectChange.getRow()];
phaseTime = new String[selectChange.getRow()];
}
selectChange.beforeFirst(); //刷新电压不平衡,电流不平衡,负载率
int ia=0;int ib=0;int ic=0;
while ( selectChange.next() ){
aPhaseVol [ia] = selectChange.getString( "A相电压(V)" );
ia++;
}
selectChange.beforeFirst();
while ( selectChange.next() ){
bPhaseVol [ib] = selectChange.getString( "B相电压(V)" );
ib++;
}
selectChange.beforeFirst();
while ( selectChange.next() ){
cPhaseVol [ic] = selectChange.getString( "C相电压(V)" );
ic++;
}
selectChange.beforeFirst();
int ca=0;int cb=0; int cc=0;
selectChange.beforeFirst();
while (selectChange.next()){
aPhaseCurrent[ca] = selectChange.getString("A相电流(A)");
ca++;
}
selectChange.beforeFirst();
while (selectChange.next()){
bPhaseCurrent[cb] = selectChange.getString("B相电流(A)");
cb++;
}
selectChange.beforeFirst();
while (selectChange.next()){
cPhaseCurrent[cc] = selectChange.getString("C相电流(A)");
cc++;
}
int ed=0;
selectChange.beforeFirst();
while (selectChange.next()){
phaseTime[ed] = selectChange.getString("时间");
ed++;
}
treeExpanded(cc,sortedList.getSelectedValue().toString());
for (int mc=0;mc<cc;mc++){
double aPhaseVolDbl = Double.parseDouble(aPhaseVol[mc]);
double bPhaseVolDbl = Double.parseDouble(bPhaseVol[mc]);
double cPhaseVolDbl = Double.parseDouble(cPhaseVol[mc]);
double sumOfsQuares = Math.pow(aPhaseVolDbl, 2)+Math.pow(bPhaseVolDbl, 2)+
Math.pow(cPhaseVolDbl, 2);
double availableVolChange = (Math.pow(aPhaseVolDbl, 4)+Math.pow(bPhaseVolDbl,4)+
Math.pow(cPhaseVolDbl,4))/Math.pow(sumOfsQuares,2);
double underSubtraction = 3-6*availableVolChange;
double publicPortion = Math.sqrt(underSubtraction);
double underDivision = (1-publicPortion)/(1+publicPortion);
double voltageUnbalance = Math.sqrt(underDivision);
float aPhaseCurrentInt = Float.parseFloat(aPhaseCurrent[mc]);
float bPhaseCurrentInt = Float.parseFloat(bPhaseCurrent[mc]);
float cPhaseCurrentInt = Float.parseFloat(cPhaseCurrent[mc]);
float minPhaseCurrent;
float maxPhaseCurrent;
double loadRate = 0;
if (aPhaseCurrentInt>bPhaseCurrentInt){
minPhaseCurrent = bPhaseCurrentInt;
maxPhaseCurrent = aPhaseCurrentInt;
}
else {
minPhaseCurrent = aPhaseCurrentInt;
maxPhaseCurrent = bPhaseCurrentInt;
}
if (minPhaseCurrent>cPhaseCurrentInt){
minPhaseCurrent = cPhaseCurrentInt;
}
if (maxPhaseCurrent<cPhaseCurrentInt){
maxPhaseCurrent = cPhaseCurrentInt;
}
if (ratedCurrentFlt==0.0){
loadRate=0;
}
else {
loadRate = maxPhaseCurrent/(ratedCurrentFlt/(0.4*1.732));
}
double CurrentImbalance = (maxPhaseCurrent-minPhaseCurrent)/maxPhaseCurrent;
DecimalFormat nfChange = new DecimalFormat ( "0.000 ");
stmt.executeUpdate("update 整点数据 set 电压不平衡度 =" +
"'"+nfChange.format(voltageUnbalance)+"' where 时间='"+phaseTime[mc]+"' " +
"and 设备号='"+sortedList.getSelectedValue().toString()+"'"); stmt.executeUpdate("update 整点数据 set 电流不平衡度 =" +
"'"+nfChange.format(CurrentImbalance)+"' where 时间='"+phaseTime[mc]+"' " +
"and 设备号='"+sortedList.getSelectedValue().toString()+"'"); stmt.executeUpdate("update 整点数据 set 负载率 ='"+nfChange.format(loadRate)+"' " +
"where 时间='"+phaseTime[mc]+"'" +
"and 设备号='"+sortedList.getSelectedValue().toString()+"'");
}
try { //确定起始时间和结束时间的取值范围;
select = stmt.executeQuery("select * from 整点数据 where 时间 >='"+startTime+"' " +
"and 时间<='"+endTime+"'and 设备号='"+sortedList.getSelectedValue().toString()+"'");
rsmd = select.getMetaData();
} catch (SQLException e1) {
System.out.print("数据库刷新整点数据异常");
}
Vector columnHeads = new Vector(); //Table表1取数据库列表
Vector rows = new Vector();
try {
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
columnHeads.addElement(rsmd.getColumnName(i));
while ( select.next() )
{
Vector currentRow = new Vector();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
{
currentRow.addElement(select.getString( i ) );
}
rows.addElement(currentRow);
}
} catch (SQLException e1) {
System.out.print("数据库连接整点数据异常");
}
defaultTableModel.setDataVector(rows,columnHeads);
defectsTable.setModel(defaultTableModel);
{
TableColumnModel columns = defectsTable.getColumnModel();
for (int m =0;m<23;m++){ //列块设定
TableColumn column = columns.getColumn(m);
if (m==0){
column.setPreferredWidth(150);
}
else if (m==6||m==12||m==18){
column.setPreferredWidth(120);
}
else {
column.setPreferredWidth(80);
}
}
}
} catch (Exception ex) {
System.out.print("数据库连接异常");
}}