📄 setupframe.java
字号:
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 + -