⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setupframe.java

📁 用swt作的一个类似飞鸽一样的局域网通信工具
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package view.setup;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import main.NetTransfer;

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.TabFolder;
import org.eclipse.swt.widgets.TabItem;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.Group;

import thread.sender.SendUDPThread;

import extend.Configuration;

public class SetupFrame extends Composite {

	private TabFolder tabFolder = null;
	private Button button = null;
	private Text IP1 = null;
	private Label dot1 = null;
	private Text IP2 = null;
	private Label dot2 = null;
	private Text IP3 = null;
	private Label dot3 = null;
	private Text IP4 = null;
	private Label IPAddress = null;
	private List list = null;
	private File setupfile;  //  @jve:decl-index=0:
	private BufferedReader setupbr = null;  //  @jve:decl-index=0:
	private PrintWriter setuppw = null;
	private Menu menu = new Menu(this.getShell(), SWT.POP_UP);
	private MenuItem mi1 = new MenuItem(menu,SWT.PUSH);
	private TabItem tabItem;
	private TabItem tabItem1;
	private Composite composite = null;
	private Composite composite1 = null;
	private Group group = null;
	private Text text = null;
	private Group group1 = null;
	private Button checkBox = null;
	private Button checkBox1 = null;
	private Button button1 = null;
	private Button button2 = null;
	private Group group2 = null;
	private Label label = null;
	private Label label1 = null;
	private Text text1 = null;
	private Button checkBox2 = null;
	private Button checkBox3 = null;
	private Button checkBox4 = null;
	public SetupFrame(Composite parent, int style) {
		super(parent, style);
		initialize();
		parent.getShell().addDisposeListener(new DisposeListener(){

			public void widgetDisposed(DisposeEvent e) {
			
				thisDispose();
			}
			
		});
	}
	private void thisDispose(){
		if ((tabFolder!=null)&&!tabFolder.isDisposed()) tabFolder.dispose();
		if ((composite!=null)&&!composite.isDisposed()) composite.dispose();
		if ((button!=null)&&!button.isDisposed()) button.dispose();
		if ((IP1!=null)&&!IP1.isDisposed()) IP1.dispose();
		if ((dot1!=null)&&!dot1.isDisposed()) dot1.dispose();
		if ((IP2!=null)&&!IP2.isDisposed()) IP2.dispose();
		if ((dot2!=null)&&!dot2.isDisposed()) dot2.dispose();
		if ((IP3!=null)&&!IP3.isDisposed()) IP3.dispose();
		if ((dot3!=null)&&!dot3.isDisposed()) dot3.dispose();
		if ((IP4!=null)&&!IP4.isDisposed()) IP4.dispose();
		if ((IPAddress!=null)&&!IPAddress.isDisposed()) IPAddress.dispose();
		if ((menu!=null)&&!menu.isDisposed()) menu.dispose();
		if ((mi1!=null)&&!mi1.isDisposed()) mi1.dispose();
		if ((composite1!=null)&&!composite1.isDisposed()) composite1.dispose();
		if ((group!=null)&&!group.isDisposed()) group.dispose();
		if ((text!=null)&&!text.isDisposed()) text.dispose();
		if ((group1!=null)&&!group1.isDisposed()) group1.dispose();
		if ((checkBox!=null)&&!checkBox.isDisposed()) checkBox.dispose();
		if ((checkBox1!=null)&&!checkBox1.isDisposed()) checkBox1.dispose();
		if ((checkBox2!=null)&&!checkBox2.isDisposed()) checkBox2.dispose();
		if ((checkBox3!=null)&&!checkBox3.isDisposed()) checkBox3.dispose();
		if ((checkBox4!=null)&&!checkBox4.isDisposed()) checkBox4.dispose();
		if ((button1!=null)&&!button1.isDisposed()) button1.dispose();
		if ((button2!=null)&&!button2.isDisposed()) button2.dispose();
		if ((group2!=null)&&!group2.isDisposed()) group2.dispose();
		if ((label!=null)&&!label.isDisposed()) label.dispose();
		if ((label1!=null)&&!label1.isDisposed()) label1.dispose();
		if ((text1!=null)&&!text1.isDisposed()) text1.dispose();
		this.dispose();
	}
	private void initialize() {
		FillLayout fillLayout = new FillLayout();
		fillLayout.spacing = 0;
		fillLayout.marginWidth = 2;
		fillLayout.marginHeight = 2;
		mi1.setText("&Delete");
		mi1.addSelectionListener(new SelectionListener(){

			public void widgetSelected(SelectionEvent e) {
				list.remove(list.getSelectionIndex());
				writeFile(list.getItems(),"");
			}

			public void widgetDefaultSelected(SelectionEvent e) {
				// TODO Auto-generated method stub
				
			}
			
		});
		createTabFolder();
		Configuration rc = new Configuration(NetTransfer.SetupFile);
	    text.setText(rc.getValue("HostName"));
	    text1.setText(rc.getValue("Command"));
	    if (rc.getValue("Envelop").toUpperCase().equals("FALSE")) checkBox.setSelection(false);
	    else checkBox.setSelection(true);
	    if (rc.getValue("Confirm").toUpperCase().equals("TRUE")) checkBox1.setSelection(true);
	    else checkBox1.setSelection(false);
	    if (rc.getValue("Reply").toUpperCase().equals("FALSE")) checkBox2.setSelection(false);
	    else checkBox2.setSelection(true);
	    if (rc.getValue("Beep").toUpperCase().equals("FALSE")) checkBox3.setSelection(false);
	    else checkBox3.setSelection(true);
	    if (rc.getValue("OnTop").toUpperCase().equals("FALSE")) checkBox4.setSelection(false);
	    else checkBox4.setSelection(true);
		this.setLayout(fillLayout);
		this.setBounds(new Rectangle(0, 0, 355, 300));
		readFile();
	}

	/**
	 * This method initializes tabFolder	
	 *
	 */
	private void createTabFolder() {
		tabFolder = new TabFolder(this, SWT.NONE);
		createComposite();
		createComposite1();
		tabItem = new TabItem(tabFolder, SWT.NONE);
		tabItem.setText("Setup");
		tabItem.setControl(composite);
		tabItem1 = new TabItem(tabFolder, SWT.NONE);
		tabItem1.setText("BroadCast Control");
		tabItem1.setControl(composite1);
	}

	/**
	 * This method initializes composite	
	 *
	 */
	private void createComposite1() {
		GridData gridData = new GridData();
		gridData.horizontalSpan = 9;
		gridData.verticalAlignment = GridData.FILL;
		gridData.grabExcessHorizontalSpace = true;
		gridData.grabExcessVerticalSpace = true;
		gridData.horizontalAlignment = GridData.FILL;
		GridData gridData7 = new GridData();
		gridData7.horizontalAlignment = GridData.BEGINNING;
		gridData7.verticalAlignment = GridData.CENTER;
		GridData gridData6 = new GridData();
		gridData6.horizontalAlignment = GridData.BEGINNING;
		gridData6.verticalAlignment = GridData.CENTER;
		GridData gridData5 = new GridData();
		gridData5.horizontalAlignment = GridData.BEGINNING;
		gridData5.verticalAlignment = GridData.CENTER;
		GridData gridData4 = new GridData();
		gridData4.widthHint = 30;
		gridData4.verticalAlignment = GridData.FILL;
		gridData4.grabExcessHorizontalSpace = true;
		gridData4.horizontalAlignment = GridData.FILL;
		GridData gridData3 = new GridData();
		gridData3.widthHint = 30;
		gridData3.verticalAlignment = GridData.FILL;
		gridData3.grabExcessHorizontalSpace = true;
		gridData3.horizontalAlignment = GridData.FILL;
		GridData gridData21 = new GridData();
		gridData21.widthHint = 30;
		gridData21.verticalAlignment = GridData.FILL;
		gridData21.grabExcessHorizontalSpace = true;
		gridData21.horizontalAlignment = GridData.FILL;
		GridData gridData1 = new GridData();
		gridData1.widthHint = 30;
		gridData1.horizontalAlignment = GridData.FILL;
		gridData1.verticalAlignment = GridData.FILL;
		gridData1.grabExcessHorizontalSpace = true;
		gridData1.grabExcessVerticalSpace = false;
		GridData gridData2 = new GridData();
		gridData2.horizontalAlignment = GridData.FILL;
		gridData2.grabExcessHorizontalSpace = true;
		gridData2.grabExcessVerticalSpace = false;
		gridData2.verticalAlignment = GridData.FILL;
		GridLayout gridLayout = new GridLayout();
		gridLayout.numColumns = 9;
		composite1 = new Composite(tabFolder, SWT.NONE);
		composite1.setLayout(gridLayout);
		IPAddress = new Label(composite1, SWT.NONE);
		IPAddress.setText("IP Address");
		IPAddress.setLayoutData(gridData5);
		IP1 = new Text(composite1, SWT.BORDER);
		IP1.setText("");
		IP1.setLayoutData(gridData1);
		IP1.addVerifyListener(new org.eclipse.swt.events.VerifyListener() {
			public void verifyText(org.eclipse.swt.events.VerifyEvent e) {
				Pattern pattern = Pattern.compile("[0-9]\\d*");
				Matcher matcher = pattern.matcher(e.text);
				if(matcher.matches()&&IP1.getText().length()<3){ //处理数字
					e.doit=true;
					
				}
				else if(e.keyCode == 1 && !matcher.matches()) //过滤中文
				e.doit=false;
				else if(e.keyCode==8||e.keyCode==0){
					e.doit = true;
					
				}else if(e.keyCode==46||e.keyCode==16777262){
					e.doit = false;
					IP2.setFocus();
				}else e.doit = false;
			}
		});
		dot1 = new Label(composite1, SWT.NONE);
		dot1.setText(".");
		IP2 = new Text(composite1, SWT.BORDER);
		IP2.setLayoutData(gridData21);
		IP2.addVerifyListener(new org.eclipse.swt.events.VerifyListener() {
			public void verifyText(org.eclipse.swt.events.VerifyEvent e) {
				Pattern pattern = Pattern.compile("[0-9]\\d*");
				Matcher matcher = pattern.matcher(e.text);
				if(matcher.matches()&&IP2.getText().length()<3){ //处理数字
					e.doit=true;
				}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -