package Frame;
|
import java.awt.BorderLayout;
|
import java.awt.Component;
|
import java.awt.Container;
|
import java.awt.Dimension;
|
import java.awt.Toolkit;
|
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionListener;
|
import java.io.File;
|
import java.util.Iterator;
|
import java.util.List;
|
import java.util.Vector;
|
import javax.swing.Box;
|
import javax.swing.ImageIcon;
|
import javax.swing.JDialog;
|
import javax.swing.JFileChooser;
|
import javax.swing.JInternalFrame;
|
import javax.swing.JLabel;
|
import javax.swing.JPanel;
|
import javax.swing.JScrollPane;
|
import javax.swing.JTable;
|
import javax.swing.JTextField;
|
import javax.swing.filechooser.FileNameExtensionFilter;
|
import javax.swing.table.DefaultTableModel;
|
import javax.swing.table.TableCellRenderer;
|
import javax.swing.table.TableColumn;
|
|
import ColorAndFont.English;
|
import ColorAndFont.NothJPanel;
|
import ColorAndFont.UIColor;
|
import ColorAndFont.buttonTitle;
|
import DataBase.DatabaseManagement;
|
import Method.GetDeskPath;
|
import PbuliClass.FileIn;
|
import PbuliClass.JButtonModel;
|
import PbuliClass.JlableModel;
|
import PbuliClass.ShowMessage;
|
import PbuliClass.Systems;
|
import PbuliClass.WarningMessage;
|
import PbuliClass.greateTables;
|
import PbuliClass.jinternalFrame;
|
import tbDataModel.Tbicon;
|
import tbDataModel_Dell.Dell_Tbicon;
|
@SuppressWarnings("rawtypes")
|
/**
|
* ´ËÀàÓÃÓÚ¹ÜÀí±êǩͼ±ê*/
|
public class IconManagement extends jinternalFrame{
|
/**
|
*
|
*/
|
private static final long serialVersionUID = 1L;
|
jinternalFrame jinerFrame=null;
|
JInternalFrame jinFrame=null;
|
JButtonModel xin_zeng_button=null;//ÐÂÔöͼ±ê°´Å¥
|
JlableModel iconName=null;//ͼ±êÃû³Æ
|
JTextField iconFile=null;//Îı¾¿ò
|
JButtonModel addicon=null;//ÐÂÔö°´Å¥
|
JButtonModel altericon=null;//Ð޸ıêÇ©
|
JButtonModel deleteicon=null;//ɾ³ý±êÇ©
|
JButtonModel shua_xin=null;//ˢбêÇ©
|
JScrollPane gdmb=null;//¹ö¶¯Ãæ°å
|
Vector<Vector<String>> serchrowData=null;//ËÑË÷Ò³±í¸ñÏòÁ¿
|
DefaultTableModel tableModel=null;
|
Vector<String> columnName=null;
|
Iterator iterator=null;//ÉêÃ÷µü´úÆ÷
|
JTable table=null;//ÉêÃ÷±í¸ñ
|
Vector rowData=null;
|
List list=null ;
|
JPanel centerPanel=null;//Öв¿Ãæ°å
|
NothJPanel southJpan=null;//Äϲ¿Ãæ°å
|
JButtonModel button=null;
|
String fileName="";//Îı¾¿òÄÚÈÝ
|
String path;//ͼ±ê±£´æµØÖ·
|
String path2;//ͼ±ê±£´æµØÖ·
|
Container rq;
|
|
|
public IconManagement() {
|
rowData=new Vector();
|
String title="ͼ±ê¹ÜÀí";
|
if(Systems.sys().getLanguage().equals("English")) {
|
title="Tag Icon management";
|
}
|
this.setTitle(title);
|
rq=getContentPane();//»ñÈ¡ÈÝÆ÷
|
rq.setLayout(new BorderLayout());
|
rq.setBackground(UIColor.getNorth_color());
|
rq.add(getSouthJpan(),BorderLayout.NORTH);
|
rq.add(getGdmb());
|
this.setFrameIcon(new ImageIcon("image/icon/iconManage.png"));//ÉèÖô°Ìåͼ±ê
|
|
}
|
|
|
public JScrollPane getGdmb() {//»ñµÃ¹ö¶¯Ãæ°å
|
if(gdmb==null) {
|
gdmb=new JScrollPane(getTable());//¹ö¶¯Ãæ°å
|
gdmb.getViewport().setBackground(UIColor.getNorth_color());
|
}
|
return gdmb;
|
}
|
|
public JTable getTable() {//»ñÈ¡table
|
if(table==null) {
|
String[] name1= {"ͼ±êÃû³Æ","ͼ±êÔ¤ÀÀ ","Ìí¼Óʱ¼ä","±¸×¢"};//±í¸ñÁÐÃû
|
String[] name2= {"Icon name", "Icon preview", "Add time", "Remarks"};//±í¸ñÁÐÃû
|
String[] columnNames=English.columnNames(name1, name2);
|
//Ìí¼Ó±í¸ñÁÐÏòÁ¿
|
columnName=new Vector<>();
|
for(int i=0;i<columnNames.length;i++){
|
columnName.add(columnNames[i]);
|
}
|
//Ìí¼Ó±í¸ñÐÐÏòÁ¿Êý¾Ý
|
rowData=new Vector<>();
|
|
greateTables tables=new greateTables();
|
tableModel=new DefaultTableModel(rowData, columnName){
|
/**
|
*
|
*/
|
private static final long serialVersionUID = 1L;
|
|
// ʵÏÖÈÃÕû¸ö±í¸ñ²»²»ÔÊÐí±»±à¼
|
public boolean isCellEditable(int row,int column){
|
return false;
|
}
|
};
|
|
table=tables.getTable(tableModel);
|
getRowData(Dell_Tbicon.getTbicon_vector());
|
|
table.getColumnModel().getColumn(1).setPreferredWidth(100);// ÉèÖõÚ3Áпí
|
TableColumn column = table.getColumnModel().getColumn(1);// »ñÈ¡±í¸ñµÚ1ÁжÔÏó
|
table.setRowHeight(40);//ÉèÖñí¸ñÐиß
|
column.setCellRenderer(new TableCellRenderer() {// ÉèÖõÚ2ÁеÄäÖȾÆ÷
|
public Component getTableCellRendererComponent(
|
JTable table, Object value, boolean isSelected,
|
boolean hasFocus, int row, int column) {
|
ImageIcon icon = (ImageIcon) value;
|
JLabel label = new JLabel(icon);// ´´½¨Í¼±ê
|
label.setBackground(table.getSelectionBackground());
|
// °ÑÑ¡ÔñµÄ±êÇ©ÉèÖÃΪ͸Ã÷
|
label.setOpaque(true);
|
|
if (row % 2 == 0) {
|
label.setBackground(UIColor.getTable_1());
|
} else {
|
label.setBackground(UIColor.getTable_2());
|
}
|
|
if(isSelected) {
|
label.setBackground(UIColor.getTable_sekected());
|
}
|
return label;// °Ñͼ±ê×÷ΪΪäÖȾ¿Ø¼þ
|
}
|
});
|
|
}
|
return table;
|
|
}
|
|
|
|
|
public JLabel getIconName() {//»ñͼ±êÃû³Æ±êÇ©
|
if(iconName==null) {
|
iconName=new JlableModel();
|
iconName.setText("ͼ±êÃû³Æ£º");
|
}
|
return iconName;
|
}
|
|
public JTextField getIconFile() {//»ñÎı¾¿ò
|
if(iconFile==null) {
|
iconFile=new JTextField(10);
|
|
|
}
|
return iconFile;
|
}
|
|
public void setIconFile(String fileName) {//ÉèÖÃÃû³ÆÎı¾¿òÄÚÈÝ
|
this.fileName=fileName;
|
getIconFile().setText(fileName);
|
|
}
|
|
|
|
public JButtonModel getAltericon() {//»ñȡɾ³ý¸Ä°´Å¥
|
if(altericon==null) {
|
altericon=new JButtonModel("ɾ ³ý");
|
altericon.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
int[] selectedRows=table.getSelectedRows();//±»Ñ¡ÖÐÐеÄË÷Òý¼¯ºÏ
|
if(selectedRows.length !=0) {
|
for(int i=0;i<selectedRows.length;i++){
|
String name1=(String) table.getValueAt(selectedRows[i], 0);
|
if(name1.equals("default.png")) {
|
ShowMessage.zidingyi("ϵͳĬÈϽûֹɾ³ý£¡");
|
return;
|
}
|
Dell_Tbicon.delete_tbicon(name1);
|
|
}
|
|
//ɾ³ý³É¹¦ÌáʾÐÅÏ¢
|
ShowMessage.zidingyi(selectedRows.length+"Ìõ¼Ç¼ɾ³ý³É¹¦£¡");
|
updateTable();//µ÷ÓÃˢбí¸ñ·½
|
}
|
else {
|
ShowMessage.zidingyi( "ÇëÑ¡ÔñÐèҪɾ³ýµÄÄÚÈÝ£¡");
|
}
|
}
|
});
|
}
|
return altericon;
|
}
|
|
|
public JButtonModel getDeleteicon() {//»ñȡɾ³ý°´Å¥
|
if(deleteicon==null) {
|
deleteicon=new JButtonModel(buttonTitle.getDeleteall());
|
deleteicon.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
//Ñ¡Ôñ¶Ô»°¿òÈçyes·µ»Ø0£¬NO·µ»Ø1£¬È¡Ïû·µ»Ø2
|
WarningMessage warning=new WarningMessage();
|
warning.setMessage("Ñ¡Ôñɾ³ýÈ«²¿½«»á°Ñ±í¸ñÊý¾ÝÈ«²¿É¾³ýÈ·¶¨Âð£¿");
|
int warn=warning.getwarMss(getSouthJpan());
|
int tagnum=table.getRowCount();//±í¸ñ×ÜÐÐÊý
|
if(tagnum!=0 && warn==0) {
|
String deleteSql="TRUNCATE TABLE tb_icon ";
|
ShowMessage.deleteAll(DatabaseManagement.update(deleteSql));
|
Dell_Tbicon.delete_all_tbicon();
|
rq.repaint();
|
}
|
}
|
});
|
}
|
return deleteicon;
|
}
|
|
public NothJPanel getSouthJpan() {//»ñÈ¡Äϲ¿Ãæ°å
|
if(southJpan==null) {
|
southJpan=new NothJPanel();
|
Box topicBox = Box.createHorizontalBox();// ´´½¨Ò»¸öˮƽÏäÈÝÆ÷
|
topicBox.add(get_shua_xin());//ÉÏ´«Í¼±ê°´Å¥Ìí¼Ó
|
topicBox.add(Box.createHorizontalStrut(30));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù
|
topicBox.add(get_xin_zeng_button());//ÉÏ´«Í¼±ê°´Å¥Ìí¼Ó
|
topicBox.add(Box.createHorizontalStrut(30));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù
|
topicBox.add(getAltericon());
|
// topicBox.add(Box.createHorizontalStrut(30));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù
|
// topicBox.add(getDeleteicon());
|
southJpan.add(topicBox );
|
}
|
return southJpan;
|
}
|
|
|
/**ˢбí¸ñ·½·¨*/
|
|
public void updateTable() {
|
if(tableModel !=null) {
|
tableModel.getDataVector().clear();
|
getRowData(Dell_Tbicon.getTbicon_vector());
|
gdmb.validate();
|
}
|
}
|
|
/**Ìí¼Ó±í¸ñÐÐÏòÁ¿Êý¾Ý·½·¨*/
|
@SuppressWarnings("unchecked")
|
|
public void getRowData( Vector<Tbicon> vc ) {
|
Iterator<Tbicon> iterator = vc.iterator();//´´½¨µü´úÆ÷
|
while (iterator.hasNext()) {//µü´úÆ÷´æÔÚÔªËØ
|
Tbicon tbi= iterator.next();//½«µü´úÆ÷ÀïÃæµÄÔªËØ¸øµ½list¼¯ºÏ
|
Vector row = new Vector();
|
row.add(tbi.getIcon_name());
|
row.add(tbi.getIcon());
|
row.add(tbi.getAdd_time());
|
row.add(tbi.getBeizhu());
|
tableModel.addRow(row);
|
}
|
}
|
|
|
|
|
/**ÐÂÔöͼ±ê°´Å¥*/
|
public JButtonModel get_xin_zeng_button() {
|
if(xin_zeng_button==null) {
|
xin_zeng_button=new JButtonModel("ÐÂ Ôö");
|
xin_zeng_button.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
new add_Dialog("ÐÂÔöͼ±ê");
|
}
|
});
|
}
|
return xin_zeng_button;
|
}
|
|
|
//ÄÚ²¿Àà
|
class add_Dialog extends JDialog{
|
|
/**
|
*
|
*/
|
private static final long serialVersionUID = 1L;
|
|
|
JButtonModel que_ding=null;//È·¶¨°´Å¥
|
JButtonModel qu_xiao=null;//È¡Ïû°´Å¥
|
JButtonModel shang_chuang=null;//ÉÏ´«Í¼Æ¬°´Å¥
|
JPanel mb=null;//ÉêÃ÷Ò»¸öÃæ°å
|
JTextField iconNametext=null;//ÊäÈëͼ±êÃû³Æ
|
|
|
public add_Dialog(String title) {
|
this.setAlwaysOnTop(true);//×ÜÊÇÖö¥
|
Toolkit toolkit = getToolkit();// »ñµÃ´°Ì幤¾ß°ü
|
Dimension screenSize = toolkit.getScreenSize();// »ñÈ¡ÆÁÄ»´óС
|
int width = (int) (screenSize.width* 0.5);// ¼ÆËã´°Ìåпí¶È
|
int height = (int) (screenSize.height * 0.5);// ¼ÆËã´°Ìåпí¶È
|
int x0=width-170;//´°Ìåx0×ø±ê
|
int y0=height-90;//´°Ìåy0×ø±ê
|
Container rq=getContentPane();
|
rq.add(getMb());
|
this.setTitle(title);
|
this.setBounds(x0, y0, 340,180);
|
this.setVisible(true);
|
}
|
|
/**»ñÈ¡Ãæ°å*/
|
public JPanel getMb() {
|
if(mb==null){
|
mb=new JPanel();
|
mb.setLayout(null);
|
iconNametext=new JTextField(10);
|
|
get_shang_chuang().setBounds(30, 30,80,25);
|
iconNametext.setBounds(120, 30, 100,25);
|
getQue_ding().setBounds(30, 90, 50, 25);
|
getQu_xiao().setBounds(110, 90, 50, 25);
|
|
|
mb.add(get_shang_chuang());
|
mb.add(iconNametext);
|
mb.add(getQue_ding());
|
mb.add(getQu_xiao());
|
|
}
|
|
return mb;
|
}
|
|
/**»ñȡȷ¶¨°´Å¥µÄ·½·¨*/
|
public JButtonModel getQue_ding() {//»ñÈ¡±£´æ°´Å¥
|
if(que_ding==null) {
|
que_ding=new JButtonModel(buttonTitle.getSave());
|
que_ding.addActionListener(new ActionListener() {//Ìí¼Óʼþ¼àÌý
|
public void actionPerformed(ActionEvent e) {
|
|
//±êÇ©Ãû³ÆÊÇ¿Õʱºòµ¯³ö
|
if (iconNametext.getText().equals("") ) {
|
ShowMessage.zidingyi("±êÇ©Ãû³Æ²»ÄÜΪ¿Õ");
|
return;
|
}
|
|
String iconName=iconNametext.getText().trim();
|
//ͼ±êÐòºÅidĬÈÏ×ÔÔö(default)ΪÕûÐÍ
|
Dell_Tbicon.add_tbicon(iconName, path);
|
updateTable();//µ÷ÓÃˢбí¸ñ·½
|
|
}
|
});
|
}
|
return que_ding;
|
}
|
|
|
/**»ñȡȡÏû°´Å¥µÄ·½·¨*/
|
public JButtonModel getQu_xiao() {
|
if(qu_xiao==null){
|
qu_xiao=new JButtonModel("È¡Ïû");
|
qu_xiao.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
closeTagDialog();
|
}
|
});
|
|
}
|
return qu_xiao;
|
}
|
|
|
/**¹Ø±Õ¶Ô»°¿ò·½·¨*/
|
public void closeTagDialog() {
|
this.dispose();
|
}
|
|
/**ÉÏ´«Í¼Æ¬°´Å¥*/
|
public JButtonModel get_shang_chuang() {//»ñÈ¡ÉÏ´«°´Å¥
|
if(shang_chuang==null) {
|
shang_chuang=new JButtonModel("ÉÏ´«Í¼±ê");
|
shang_chuang.addActionListener(new ActionListener() {
|
JFileChooser fileChooser=new JFileChooser(GetDeskPath.path());//ÎļþÑ¡ÔñÆ÷
|
public void actionPerformed(ActionEvent e) {
|
FileNameExtensionFilter filter=new FileNameExtensionFilter("ͼƬ", "JPG","PNG","JPEG");//Îļþ¹ýÂËÆ÷
|
fileChooser.setFileFilter(filter);//Ìí¼ÓÎļþ¹ýÂËÆ÷
|
int i=fileChooser.showOpenDialog(getSouthJpan());//ÏÔʾѡÔñÎļþ¶Ô»°¿ò
|
if(i==JFileChooser.APPROVE_OPTION) {//Èç¹ûÓû§Ñ¡ÔñµÄÊÇ¡°´ò¿ª¡±°´Å¥
|
File file=fileChooser.getSelectedFile();//»ñȡѡÖеÄÎļþ
|
String fileName=file.getName();//ÎļþÃû³Æ
|
setIconFile(fileName);
|
//µØÍ¼Í¼Æ¬µ¼Èë
|
path="image/targeticon/"+fileName;//ͼƬ±£´æÂ·¾¶
|
FileIn imageImport=new FileIn();
|
imageImport.SaveFileIn(file,path);
|
ShowMessage.zidingyi( "ͼƬÒѾ´æÈë"+path);
|
iconNametext.setText(fileName);
|
|
}
|
else {
|
return;
|
}
|
|
}
|
});
|
|
}
|
return shang_chuang;
|
}
|
|
}
|
|
public JButtonModel get_shua_xin() {
|
if(shua_xin==null) {
|
shua_xin=new JButtonModel("Ë¢ ÐÂ");
|
shua_xin.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
updateTable();
|
}
|
});
|
|
}
|
return shua_xin;
|
}
|
}
|