📄 merspanel.java
字号:
/*
* MersPanel.java
*
* Created on 2008年1月20日, 下午11:08
*/
package javaapplication6;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Calendar;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
/**
*
* @author jianren
*/
public class MersPanel extends java.awt.Panel {
MSSSQLFather msssql = new MSSSQLFather();
//MSSSQL sql = new MSSSQL();//数据库
list values=new list();
int fwedth = 0;//记录引用的窗口大小位置
int fheigth = 0;
int fpointx = 0;
int fpointy = 0;
int stancyear = 3;//下拉年份的显示上限
Frame othis;
boolean starflag = false;//类初始化标记
/** Creates new form MersPanel */
MersPanel(){
throw null;
}
MersPanel( Frame otherthis, String id,String pone,String ptwo){
this( otherthis);
setLanel( id, pone, ptwo);
}
MersPanel( Frame otherthis){
initComponents();
if( otherthis != null){
//{设置引用界面
othis = otherthis;
setSize( 450, 500);
setLocation( 0, 0);
fwedth = otherthis.getWidth();
fheigth = otherthis.getHeight();
otherthis.setSize( getSize());
fpointx = otherthis.getX();
fpointy = otherthis.getY();
Dimension dim = getToolkit().getScreenSize();
otherthis.setBounds( ( dim.width - getWidth()) / 2,
( dim.height - getHeight()) / 2,
getWidth(), getHeight());
//}
stardate();
starflag = true;
}
}
//设置标签
public void setLanel(String id,String pone,String ptwo ){
if( id != null && pone != null && ptwo != null){
LabelID.setText(id);
LabelPOne.setText(pone);
LabelPTwo.setText(ptwo);
}
}
//清空
public void clear(){
jTextFieldid.setText("");
jTextFieldname.setText("");
jTextFieldmake.setText("");
jTextFieldoperator.setText("");
jTextFieldpone.setText("");
jTextFieldptwo.setText("");
jTextFieldpthree.setText("");
jTextArearemark.setText("");
values = null;
}
//界面的表是否为空
public boolean isEmpty(){
if( jTextFieldid.getText().length() == 0)
if( jTextFieldmake.getText().length() == 0)
if( jTextFieldname.getText().length() == 0)
if( jTextFieldoperator.getText().length() == 0)
if( jTextFieldpone.getText().length() == 0)
if( jTextFieldptwo.getText().length() == 0)
if( jTextFieldpthree.getText().length() == 0)
if( jTextArearemark.getText().length() == 0)
return true;
return false;
}
//将list a 的值给界面
public void setlist(list a){
if( !checklist( a)){
jTextFieldid.setText( a.id);
jTextFieldname.setText( a.Name);
jTextFieldmake.setText( a.Make);
jTextFieldoperator.setText( a.Operator);
jTextFieldpone.setText( a.POne);
jTextFieldptwo.setText( a.PTwo);
jTextFieldpthree.setText( a.PThree);
jTextArearemark.setText( a.Remark);
setday( jComboBoxyear1, jComboBoxmonth1, jComboBoxday1, a.Start);
setday( jComboBoxyear2, jComboBoxmonth2, jComboBoxday2, a.End);
setday( jComboBoxyear3, jComboBoxmonth3, jComboBoxday3, a.day);
}
}
public void setEnabledlist( boolean flag){
jTextFieldid.setEnabled( flag);
jTextFieldname.setEnabled( flag);
jTextFieldmake.setEnabled( flag);
jTextFieldoperator.setEnabled( flag);
jTextFieldpone.setEnabled( flag);
jTextFieldptwo.setEnabled( flag);
jTextFieldpthree.setEnabled( flag);
jTextArearemark.setEnabled( flag);
jComboBoxyear1.setEnabled( flag);
jComboBoxmonth1.setEnabled( flag);
jComboBoxday1.setEnabled( flag);
jComboBoxyear2.setEnabled( flag);
jComboBoxmonth2.setEnabled( flag);
jComboBoxday2.setEnabled( flag);
jComboBoxyear3.setEnabled( flag);
jComboBoxmonth3.setEnabled( flag);
jComboBoxday3.setEnabled( flag);
}
//返回 界面表的值
public list getlist(){
if( values == null){
values = new list();
}
values.Start = getday( jComboBoxyear1, jComboBoxmonth1, jComboBoxday1);
values.End = getday( jComboBoxyear2, jComboBoxmonth2, jComboBoxday2);
values.day = getday( jComboBoxyear3, jComboBoxmonth3, jComboBoxday3);
values.id = jTextFieldid.getText();
values.Remark = jTextArearemark.getText();
values.PThree = jTextFieldpthree.getText();
values.PTwo = jTextFieldptwo.getText();
values.POne = jTextFieldpone.getText();
values.Operator = jTextFieldoperator.getText();
values.Make = jTextFieldmake.getText();
values.Name = jTextFieldname.getText();
values.id = jTextFieldid.getText();
if( checklist( values)){
return values;
}
return null;
}
//测试表是否合法
public boolean checklist( list li){
if( li == null){
return false;
}
if( li.End == null || li.Start == null || li.day == null)
return false;
if( li.Operator == null || li.id ==null || li.POne == null)
return false;
if( li.PTwo == null || li.PThree == null || li.Make == null)
return false;
if( li.Operator.length() < 1 || li.id.length() < 1 || li.POne.length() < 1)
return false;
if( li.PTwo .length() < 1 || li.PThree .length() < 1 || li.Make.length() < 1)
return false;
if( li.Start.after( li.End))
return false;
//数据库
//
return true;
}
/**public void show(){
setVisible(true);
}
public void occult(){
setVisible(false);
}*/
//根据年和月返回这个月有多少天
protected int getday( int year, int mooth){
if( year < 0){
year = 0;
}
if( mooth < 1){
mooth = 1;
}
if( mooth > 12){
mooth = 12;
}
switch( mooth){
case 1:;
case 3:;
case 5:;
case 7:;
case 8:;
case 10:;
case 12:return 31;
case 2:{
if( year % 4 == 0){
return 29;
}
return 28;
}
case 4:;
case 6:;
case 9:;
case 11:return 30;
default:break;
}
return 0;
}
//将组件的日期转换成 Calendar
protected Calendar getday( JComboBox year, JComboBox month, JComboBox day){
if( year == null || month == null || day == null){
return null;
}
int foyear = Integer.parseInt( ( String)year.getSelectedItem());
int fomonth = Integer.parseInt( ( String)month.getSelectedItem());
int foday = Integer.parseInt( ( String)day.getSelectedItem());
Calendar cal = Calendar.getInstance();
cal.set( foyear, fomonth, foday);
return cal;
}
//根据 Calendar date 设置组件
protected void setday( JComboBox year, JComboBox month, JComboBox day, Calendar date){
if( date != null){
year.removeAllItems();
//设置年下拉列表
for( int setyear = date.get( date.YEAR) - stancyear;
setyear < date.get( date.YEAR) + stancyear * 2; setyear++){
year.addItem( String.valueOf( setyear));
}
//设置月
month.removeAllItems();
for( int setmonth = 1; setmonth <= 12; setmonth++){
month.addItem( String.valueOf( setmonth));
}
//设置日
day.removeAll();
int days = getday( date.get( date.YEAR),date.get( date.MONTH));
for( int setday = 1; setday <= days; setday++){
day.addItem( String.valueOf( setday));
}
//设置选择的日期
year.setSelectedItem( String.valueOf( date.get( date.YEAR)));
month.setSelectedItem( String.valueOf( date.get( date.MONTH)));
day.setSelectedItem( String.valueOf( date.get( date.DATE)));
}
}
//时间下拉列表的首次初始化
protected void stardate(){
//{下拉列表的日期设置
Calendar now = Calendar.getInstance();
setday( jComboBoxyear1, jComboBoxmonth1, jComboBoxday1, now);
setday( jComboBoxyear2, jComboBoxmonth2, jComboBoxday2, now);
setday( jComboBoxyear3, jComboBoxmonth3, jComboBoxday3, now);
//}
}
//涮新日//根据年月涮新日//day用
protected void setdate( JComboBox year, JComboBox month, JComboBox day){
if( year != null && month != null && day != null)
if( year.getItemCount() > 0 && month.getItemCount() > 0){
int fomday = Integer.parseInt( ( String)day.getSelectedItem());
day.removeAllItems();
int foyear = Integer.parseInt( ( String)year.getSelectedItem());
int fomonth = Integer.parseInt( ( String)month.getSelectedItem());
int days = getday( foyear, fomonth);
for( int setdays = 1; setdays <= days; setdays++){
day.addItem( String.valueOf( setdays));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -