?? edit.java
字號:
package com.face;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.RowData;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.TabFolder;
import org.eclipse.swt.widgets.TabItem;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.Dialog;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.jface.dialogs.*;
import com.mq.MQOperator;
public class Edit implements IMQDisplay {
final private IMQDisplay listener;
final public Text text_queueManager;
final private Text text_checkMessage;
final private Text text_info;
private String QMgrName = null;
private String QName = null;
MQThread mqth = new MQThread(this);
Display display;
Shell shell;
Edit() {
listener = this;
display = Display.getDefault();
shell = new Shell();
shell.setSize(411, 438);
shell.setText("MQApi Application");
//
shell.open();
final TabFolder tabFolder = new TabFolder(shell, SWT.NONE);
tabFolder.setBounds(0, 0, 403, 406);
final TabItem tabItem = new TabItem(tabFolder, SWT.NONE);
tabItem.setText("本地傳輸");
final Composite composite = new Composite(tabFolder, SWT.NONE);
tabItem.setControl(composite);
//顯示校驗信息,如"輸入隊列不正確"或"輸入有效"
text_checkMessage = new Text(composite, SWT.BORDER|SWT.READ_ONLY);
text_checkMessage.setBounds(13, 109, 372, 20);
//輸入隊列管理器
text_queueManager = new Text(composite, SWT.BORDER);
text_queueManager.setBounds(13, 73, 246, 19);
//開始按鈕
final Button startButton = new Button(composite, SWT.BORDER);
//暫停按鈕
final Button pauseButton = new Button(composite, SWT.BORDER);
startButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
text_checkMessage.setText("");
if(mqth.isAlive()) {
//恢復線程
mqth.resume();
} else {
//開始線程
mqth.start();
}
startButton.setEnabled(false);
pauseButton.setEnabled(true);
println(3, "程序已啟動!");
}
});
startButton.setText("Start");
startButton.setBounds(13, 10, 120, 30);
pauseButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
text_checkMessage.setText("");
mqth.mysuspend();
startButton.setEnabled(true);
pauseButton.setEnabled(false);
println(3, "程序已暫停!");
}
});
pauseButton.setText("Pause");
pauseButton.setBounds(139, 10, 120, 30);
//退出按鈕
final Button exitButton = new Button(composite, SWT.BORDER);
exitButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
mqth.stop();
try {
mqth.join();
} catch(Exception ee) {
}
System.exit(0);
}
});
exitButton.setText("Exit");
exitButton.setBounds(265, 10, 120, 30);
//
final Label queueManagerLabel = new Label(composite, SWT.NONE);
queueManagerLabel.setText("Queue Manager:");
queueManagerLabel.setBounds(13, 55, 120, 12);
//選擇隊列
final Combo queue = new Combo(composite, SWT.READ_ONLY);
queue.setBounds(13, 155, 372, 20);
//校驗隊列管理器的名稱是否存在
final Button checkButton = new Button(composite, SWT.BORDER);
checkButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
text_checkMessage.setText("");
mqth.setComCode(0);
mqth.setReaCode(0);
mqth.setQM_NAME(text_queueManager.getText());
QMgrName = mqth.getQM_NAME();
if(QMgrName == null || QMgrName.equals("")) {
MessageBox messageBox = new MessageBox(shell, SWT.ICON_ERROR);
messageBox.setMessage("請輸入隊列管理器名稱!");
messageBox.open();
println(3, "請輸入隊列管理器名稱");
return;
} else {
while(!mqth.setrunflag(MQThread.CONN_QMANAGER)) {
try {
Thread.sleep(500);
} catch(Exception ex) {
}
}
while(mqth.getrunflag() == MQThread.CONN_QMANAGER) {
try {
Thread.sleep(500);
} catch(Exception ex) {
}
}
text_info.append(mqth.getreturn_message() + "\r\n");
if(mqth.getComCode() == 0 || mqth.getReaCode() == 0) {
while(!mqth.setrunflag(MQThread.LIST_QUEUE)) {
try {
Thread.sleep(500);
} catch(Exception ex) {
}
}
while(mqth.getrunflag() == MQThread.LIST_QUEUE) {
try {
Thread.sleep(500);
} catch(Exception ex) {
}
}
//text_info.setText("");
text_info.append(mqth.getreturn_message() + "\r\n");
if((!mqth.getQ_NAMES().equals("")) && (mqth.getQ_NAMES() != null)) {
queue.setItems(mqth.getQ_NAMES());
queue.select(0);
}
}
}
}
});
checkButton.setText("Check");
checkButton.setBounds(265, 73, 120, 30);
//
final Label queueLabel = new Label(composite, SWT.NONE);
queueLabel.setText("Queue:");
queueLabel.setBounds(13, 135, 120, 14);
//提示信息
text_info = new Text(composite, SWT.BORDER|SWT.V_SCROLL|SWT.WRAP|SWT.READ_ONLY);
text_info.setBounds(13, 181, 372, 157);
//寫入隊列
final Button writeQButton = new Button(composite, SWT.BORDER);
writeQButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
if(QMgrName == null || QMgrName.equals("")) {
MessageBox messageBox = new MessageBox(shell, SWT.ICON_ERROR);
messageBox.setMessage("請輸入隊列管理器名稱!");
messageBox.open();
text_checkMessage.setText("");
println(3, "請輸入隊列管理器名稱");
return;
} else {
mqth.setQM_NAME(QMgrName);
mqth.setQ_NAME(queue.getText());
String message = null;
SendMessageDialog sendMessageDialog = new SendMessageDialog(shell);
//是否單擊“確定”按鈕
if(sendMessageDialog.open() == IDialogConstants.OK_ID) {
message = sendMessageDialog.getTextValue(); //取值
mqth.setOutMessage(message);
//等待到最后一個命令結束為止
while(!mqth.setrunflag(MQThread.PUT_MESSAGE)) {
try {
Thread.sleep(500);
} catch(Exception ex) {
}
}
//等待這個命令結束
while(mqth.getrunflag() == MQThread.PUT_MESSAGE) {
try {
Thread.sleep(500);
} catch(Exception ex) {
}
}
text_info.append(mqth.getreturn_message() + "\r\n");
}
}
}
});
writeQButton.setText("Write Q");
writeQButton.setBounds(139, 344, 120, 30);
//從隊列讀取
final Button readQButton = new Button(composite, SWT.BORDER);
readQButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
if(QMgrName == null || QMgrName.equals("")) {
MessageBox messageBox = new MessageBox(shell, SWT.ICON_ERROR);
messageBox.setMessage("請輸入隊列管理器名稱!");
messageBox.open();
text_checkMessage.setText("");
println(3, "請輸入隊列管理器名稱");
return;
} else {
mqth.setQM_NAME(QMgrName);
mqth.setQ_NAME(queue.getText());
//GetMessageDialog getMessageDialog = new GetMessageDialog(shell);
//getMessageDialog.open();
while(!mqth.setrunflag(MQThread.GET_MESSAGE)) {
try {
Thread.sleep(500);
} catch(Exception ex) {
}
}
while(mqth.getrunflag() == MQThread.GET_MESSAGE) {
try {
Thread.sleep(500);
} catch(Exception ex) {
}
}
text_info.append(mqth.getreturn_message() + "\r\n");
}
}
});
readQButton.setText("Read Q");
readQButton.setBounds(265, 344, 120, 30);
final TabItem tabItem_1 = new TabItem(tabFolder, SWT.NONE);
tabItem_1.setText("遠程傳輸");
final Composite composite_1 = new Composite(tabFolder, SWT.NONE);
tabItem_1.setControl(composite_1);
shell.layout();
while (!shell.isDisposed()) {
if(!display.readAndDispatch())
display.sleep();
}
//display.dispose();
}
/**
* Launch the application
* @param args
*/
public static void main(String[] args) {
new Edit();
}
class show implements Runnable {
private String msg;
private int ch;
show(int channel, String message) {
this.ch = channel;
this.msg = message;
}
public void run() {
if(ch == 1) {
text_queueManager.append(msg);
} else if(ch == 2) {
text_info.append(msg);
} else if(ch == 3) {
text_checkMessage.append(msg);
}
}
}
//輸出語句
public void print(int channel, String message) {
display.asyncExec(new show(channel, message));
}
public void println(int channel, String message) {
display.asyncExec(new show(channel, message + "\r\n"));
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -