`

Demo001

 
阅读更多
package com.huawei.crs.dataswitch.ui;



import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.imageio.ImageIO;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.Border;

public class DataSwitchUI
{
	
	public static List<String> getModulecodes(final String str)
	{
		List<String> codes = new ArrayList<String>();
		char[] charArray = str.toCharArray();
		
		StringBuffer code = new StringBuffer();
		boolean outCode = true;
		for(char ch : charArray)
		{
			if(outCode)
			{
				if((ch == 'M' || ch == 'U' || ch == 'R' || ch == 'm' || ch == 'u' || ch == 'r'))
				{
					outCode = false;
					code.append(ch);
				}
				else
				{
					
				}
				
			}else
			{
				if(ch == 'W' || ch == 'w' || ('0' <= ch && ch <= '9'))
				{
					code.append(ch);
				}else
				{
					outCode = true;
					codes.add(new String(code.toString()));
					code.delete(0, code.length());
					if((ch == 'M' || ch == 'U' || ch == 'R' || ch == 'm' || ch == 'u' || ch == 'r'))
					{
						outCode = false;
						code.append(ch);
					}
				}
			}
			
			
			
//		    if(!inCode && (ch == 'M' || ch == 'U' || ch == 'R' || ch == 'm' || ch == 'u' || ch == 'r'))
//		    {
//		    	inCode = true;
//		    	code.append(ch);
//		    }
//		    else if(inCode && (ch == 'W' || ch == 'w' || ('0' <= ch && ch <= '9')))
//		    {
//		    	code.append(ch);
//		    }
		}
		
		return codes;
	}
	
	public static void main(String[] args)
	{

    	//获取屏幕尺寸
    	Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
    	
    	try
		{
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
		} catch (ClassNotFoundException e1)
		{
			e1.printStackTrace();
		} catch (InstantiationException e1)
		{
			e1.printStackTrace();
		} catch (IllegalAccessException e1)
		{
			e1.printStackTrace();
		} catch (UnsupportedLookAndFeelException e1)
		{
			e1.printStackTrace();
		}
		
    	final JFrame jFrame = new JFrame("数据切换SQL脚本生成工具");
		Image image = null;
		
		try
		{
			image = ImageIO.read(new FileInputStream("img/logo.jpg"));
		} 
		catch (FileNotFoundException e)
		{
			JOptionPane.showMessageDialog(jFrame,"图片Logo没有找到 !","警告信息",JOptionPane.WARNING_MESSAGE);
			//System.exit(0);
		} 
		catch (IOException e)
		{
			JOptionPane.showMessageDialog(jFrame,"读取文件异常 !","警告信息",JOptionPane.WARNING_MESSAGE);
			//System.exit(0);
		}  

        jFrame.setIconImage(image);
    	Container container = jFrame.getContentPane();
    	container.setLayout(null);

		final JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBounds(10, 10, 770, 180);
		scrollPane.setWheelScrollingEnabled(true);
		scrollPane.setBorder(BorderFactory.createTitledBorder("信息栏"));
		container.add(scrollPane);
    	
    	
		final JTextArea resultTextArea = new JTextArea();
		
		Color color = new Color( 255, 255, 255);
		Color selectedColor = new Color( 0, 255, 0);
		
		Border border = BorderFactory.createLineBorder(Color.black);
		//border = BorderFactory.createLoweredBevelBorder();
		//border = BorderFactory.createEtchedBorder(EtchedBorder.RAISED);
		//border = BorderFactory.createEtchedBorder(EtchedBorder.LOWERED);
		//border = BorderFactory.createRaisedBevelBorder();
		
		resultTextArea.setBorder(border);
		resultTextArea.setBackground(color);
		resultTextArea.setSelectedTextColor(selectedColor);
		resultTextArea.setText(
				"\n\t数据切换SQL脚本生成工具说明: " +
				"\n\t\t\t 待补充");
		
		resultTextArea.setEditable(false);
		scrollPane.setViewportView(resultTextArea);
		
		
		JPanel comparePane = new JPanel();
		comparePane.setLayout(null);
		comparePane.setBounds(10, 200, 770, 120);
		comparePane.setBorder(BorderFactory.createTitledBorder("生成SQL脚本文件"));
		container.add(comparePane);
		
		
		JLabel expectLabel = new JLabel("模  块:");
		expectLabel.setBounds(60, 40, 80, 26);
		comparePane.add(expectLabel);
		
		final JTextField expectTextField = new JTextField();
		expectTextField.setBounds(120, 40, 220, 26);
		comparePane.add(expectTextField);

		
		expectTextField.addKeyListener(new KeyAdapter(){

			@Override
			public void keyReleased(KeyEvent e) {
				StringBuffer sb = new StringBuffer("\t需要处理的模块:\n");
//				sb.append("");
				String content = expectTextField.getText();
				
				int len = 80;
				int i = 0;
				do
				{
					sb.append("\t");
					sb.append(content.substring(i * len, Math.min((i + 1) * len, content.length())));
					sb.append("\n");
					i ++;
				}while(len * i  <= content.length());
					
				resultTextArea.setText(sb.toString());
			}
		});
		
		
		JLabel actualLabel = new JLabel("文  件:");
		actualLabel.setBounds(390, 40, 80, 26);
		comparePane.add(actualLabel);
		
		final JTextField actualTextField = new JTextField();
		actualTextField.setBounds(450, 40, 200, 26);
		comparePane.add(actualTextField);
		
    	
		JButton actualButton = new JButton("...");
		actualButton.setBounds(650, 40, 20, 26);
		comparePane.add(actualButton);
		actualButton.addActionListener(new ActionListener()
		{
			@Override
			public void actionPerformed(ActionEvent e)
			{
				JFileChooser jFileChooser = new JFileChooser();
				 int returnVal = jFileChooser.showSaveDialog(jFrame); 
	             if (returnVal == JFileChooser.APPROVE_OPTION) 
	             { 
	                 File file = jFileChooser.getSelectedFile();               
	                 actualTextField.setText(file.getAbsolutePath());
	             }
			}
		});
		
		JButton compareButton = new JButton("生成脚本");
		compareButton.setBounds(590, 80, 80, 26);
		comparePane.add(compareButton);
		compareButton.addActionListener(new ActionListener()
		{
			@Override
			public void actionPerformed(ActionEvent e)
			{
				String expaceFile = expectTextField.getText();
				String actualFile = actualTextField.getText();
				if(null == expaceFile || "".equals(expaceFile))
				{
					JOptionPane.showMessageDialog(jFrame,"预期文件不能为空!","警告信息",JOptionPane.WARNING_MESSAGE);
				}
				else if(null == actualFile || "".equals(actualFile))
				{
					JOptionPane.showMessageDialog(jFrame,"实际文件不能为空!","警告信息",JOptionPane.WARNING_MESSAGE);
				}
				else
				{
					
				}
			}
		});
		
		
		JPanel sortPane = new JPanel();
		sortPane.setLayout(null);
		sortPane.setBounds(10, 330, 770, 120);
		sortPane.setBorder(BorderFactory.createTitledBorder("执行SQL脚本文件"));
		container.add(sortPane);
    	
		JLabel inputLabel = new JLabel("文  件:");
		inputLabel.setBounds(60, 40, 80, 26);
		sortPane.add(inputLabel);
		
		final JTextField inputTextField = new JTextField();
		inputTextField.setBounds(120, 40, 200, 26);
		sortPane.add(inputTextField);
		
		JButton inputButton = new JButton("...");
		inputButton.setBounds(320, 40, 20, 26);
		sortPane.add(inputButton);
		inputButton.addActionListener(new ActionListener()
		{
			@Override
			public void actionPerformed(ActionEvent e)
			{
				JFileChooser jFileChooser = new JFileChooser();
				 int returnVal = jFileChooser.showOpenDialog(jFrame); 
	             if (returnVal == JFileChooser.APPROVE_OPTION) 
	             { 
	                 File file = jFileChooser.getSelectedFile();               
	                 inputTextField.setText(file.getAbsolutePath());
	             }
			}
		});
    	
		
		
		
		
		JButton sortButton = new JButton("执行脚本");
		sortButton.setBounds(388, 40, 80, 26);//590, 80, 80, 26
		sortPane.add(sortButton);
		sortButton.addActionListener(new ActionListener()
		{
			@Override
			public void actionPerformed(ActionEvent e)
			{
				String inputFile = inputTextField.getText();
				String outputFile = inputTextField.getText();
				String sequenceFlag = "";
				if(null == inputFile || "".equals(inputFile))
				{
					JOptionPane.showMessageDialog(jFrame,"输入文件不能为空!","警告信息",JOptionPane.WARNING_MESSAGE);
				}
				else if(null == outputFile || "".equals(outputFile))
				{
					JOptionPane.showMessageDialog(jFrame,"输出文件不能为空!","警告信息",JOptionPane.WARNING_MESSAGE);
				}
				else
				{
                   
				}
			}
		});
		
    	int width = 800;
    	int height = (int)(width * 0.618);
		jFrame.setSize(width,height);
		int x = (dimension.width - jFrame.getSize().width)/2;
		int y = (dimension.height - jFrame.getSize().height)/2;
		jFrame.setLocation(x, y);
		jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		jFrame.setResizable(false);
		jFrame.setVisible(true);
	}
}

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics