qfxsxhfy的专栏

package com.yc.ui;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import org.eclipse.jface.dialogs.MessageDialog;

import org.eclipse.swt.widgets.Display;

import org.eclipse.swt.widgets.Event;

import org.eclipse.swt.widgets.Listener;

import org.eclipse.swt.widgets.Menu;

import org.eclipse.swt.widgets.MenuItem;

import org.eclipse.swt.widgets.Shell;

import org.eclipse.swt.widgets.Button;

import org.eclipse.swt.widgets.Tray;

import org.eclipse.swt.widgets.TrayItem;

import org.eclipse.swt.SWT;

import org.eclipse.swt.widgets.Label;

import org.eclipse.swt.events.SelectionAdapter;

import org.eclipse.swt.events.SelectionEvent;

import org.eclipse.swt.events.SelectionListener;

import org.eclipse.swt.events.ShellAdapter;

import org.eclipse.swt.events.ShellEvent;

import org.eclipse.swt.graphics.Image;

import sun.audio.AudioPlayer;

import sun.audio.AudioStream;

import com.swtdesigner.SWTResourceManager;

public class TestShowPic {

protected Shell shell;

Label label;

AudioStream as;

Display display;

/**

* Launch the application.

* @param args

*/

public static void main(String[] args) {

try {

TestShowPic window = new TestShowPic();

window.open();

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* Open the window.

*/

public void open() {

display = Display.getDefault();

shell = new Shell(display,SWT.MIN); //SWT.NONE

shell.setImage(SWTResourceManager.getImage(TestShowPic.class, "/images/10002.ico"));

shell.setSize(545, 520);

shell.setText("音乐播放器");

shell.open();

shell.layout();

final Tray tray= display.getSystemTray();

final TrayItem item = new TrayItem(tray, SWT.NONE);

if (tray == null) {

System.out.println("当前操作系统不支持托盘图标");

} else {

item.setToolTipText("音乐播放器");

item.addListener(SWT.Show, new Listener() {//托盘显示监听事件

public void handleEvent(Event event) {

shell.setVisible(false);

}

});

item.addListener(SWT.Hide, new Listener() { //托盘隐藏监听事件

public void handleEvent(Event event) {

shell.setVisible(true);

}

});

item.addListener(SWT.Selection, new Listener() {//托盘点击事件

public void handleEvent(Event event) {

shell.setVisible(true);

shell.setMinimized(false);

}

});

item.addListener(SWT.DefaultSelection, new Listener(){//托盘双击事件

public void handleEvent(Event event) {

shell.setVisible(true);

shell.setMinimized(false);

}

});

final Menu menu = new Menu(shell,SWT.POP_UP);

for (int i = 0; i < 8; i++) {

MenuItem mi = new MenuItem(menu, SWT.PUSH);

mi.setText("Item" + i);

mi.addListener(SWT.Selection, new Listener() {

public void handleEvent(Event event) {

System.out.println("selection " + event.widget);

}

});

if(i==0){

menu.setDefaultItem(mi);

}

if(i==3){

new MenuItem(menu,SWT.SEPARATOR);// 分割条

}

}

item.addListener(SWT.MenuDetect, new Listener() {//托盘右击事件

public void handleEvent(Event event) {

menu.setVisible(true);

}

});

item.addListener(SWT.DefaultSelection, new Listener(){ //双击托盘事件

public void handleEvent(Event event) {

shell.setVisible(true);

//item.setVisible(false);

}

});

new MenuItem(menu,SWT.SEPARATOR);// 分割条

MenuItem menuItemMaximize = new MenuItem(menu, SWT.PUSH);// 最大化菜单

menuItemMaximize.setText("最大化");

menuItemMaximize.addSelectionListener(new SelectionListener() {

public void widgetSelected(SelectionEvent e) {

shell.setVisible(true);

shell.setMaximized(true);

}

public void widgetDefaultSelected(SelectionEvent e) {

// widgetSelected(e);

}

});

MenuItem menuItemMinimize = new MenuItem(menu, SWT.PUSH);// 最小化菜单

menuItemMinimize.setText("最小化");

menuItemMinimize.addSelectionListener(new SelectionListener() {

public void widgetSelected(SelectionEvent e) {

shell.setMinimized(true);

}

public void widgetDefaultSelected(SelectionEvent e) {

// widgetSelected(e);

}

});

new MenuItem(menu,SWT.SEPARATOR);// 分割条

MenuItem menuItemClose = new MenuItem(menu, SWT.PUSH);// 关闭菜单

menuItemClose.setText("关闭");

menuItemClose.addSelectionListener(new SelectionListener() {

public void widgetDefaultSelected(SelectionEvent e) {

Display.getCurrent().close();

System.exit(0);

}

public void widgetSelected(SelectionEvent e) {

widgetDefaultSelected(e);

}

});

Image image = new Image(display,"src/images/10004.ico");

item.setImage(image);

}

createContents();

while (!shell.isDisposed()) {

if (!display.readAndDispatch()) {

display.sleep();

}

}

}

/**

* Create contents of the window.

*/

protected void createContents() {

//音乐播放

try {

FileInputStream fileau=null;

fileau=new FileInputStream("src/bgmusic.mid");

as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (FileNotFoundException e1) {

e1.printStackTrace();

} catch (IOException e1) {

e1.printStackTrace();

}

Button button = new Button(shell, SWT.NONE);

button.addSelectionListener(new SelectionAdapter() {

@Override

public void widgetSelected(SelectionEvent e) {

Image img=new Image(shell.getDisplay(), "src/3.png");

label.setBackgroundImage(img);

}

});

button.setBounds(212, 24, 80, 27);

button.setText("显示");

label = new Label(shell, SWT.NONE);

label.setBounds(46, 68, 444, 352);

shell.addShellListener(new ShellAdapter() {

public void shellClosed(final ShellEvent e){

boolean b = MessageDialog.openConfirm(shell, "关闭提示","是否关闭?");

if (b == true){

display.close();

System.exit(0);

}else{

return;

}

}

});

}

}

,这一秒不放弃,下一秒就会有希望。

qfxsxhfy的专栏

相关文章:

你感兴趣的文章:

标签云: