Gå til innhold

gjemme vindu i taskbar


Anbefalte innlegg

Hvordan kan jeg lage et vindu (JWindow, JFrame eller lignende) som vises som et ikon i taskbar (nede til høyre), og som fortsetter å eksistere i taskbar når jeg avslutter vindu. (vindu skal kunne hentes opp igjen ved å trykke på ikon i taskbar). :-)

 

(Dette er i Win2000/XP)

 

RT

Endret av runett
Lenke til kommentar
Videoannonse
Annonse

lekte meg med det for litt siden, her er litt basis kode:

 

 

 

package trayIcon;

import java.awt.AWTException;
import java.awt.Image;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.Toolkit;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JOptionPane;


class TestTray {

private static MenuItem hei = null;


public static void main(String[] args) {
	// TODO Auto-generated method stub
	  TrayIcon trayIcon = null;
	  if (SystemTray.isSupported()) {
		  // henter SystemTray
		  SystemTray tray = SystemTray.getSystemTray();
		  // load an image
		  Image image = Toolkit.getDefaultToolkit().getImage("D:\\trayTest.jpg");
		  // legger til en actionlistener
		  ActionListener listener = new ActionListener() {
			 public void actionPerformed(ActionEvent e) {
				 JOptionPane.showMessageDialog(null, "Wiiiiiiiiiii");
			 }};

		 // lager en popup meny
		 PopupMenu popup = new PopupMenu();

		 // lager en MenuItem 
		 hei = new MenuItem("hei på dei :) fin unyttig ting ikke sant:) :) :) :)");

		 MenuItem boo = new MenuItem("exit");

		 boo.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				JOptionPane.showMessageDialog(null, "Avslutter...");
				System.exit(0);
			}

		 });

		 hei.addActionListener(listener);
		 popup.add(hei);
		 popup.addSeparator();
		 popup.add(boo);
		 //popup.add(m_StartServer);
		 /// ... eventuelt andre ting/popupper 
		 // lager et TrayIcon
		 trayIcon = new TrayIcon(image, "Tray Demo", popup);
		 // set the TrayIcon properties
		 trayIcon.addActionListener(listener);
		 // ...
		 // legger til det ferdige ikonet
		 try {
			 tray.add(trayIcon);
		 } catch (AWTException e) {
			 System.err.println(e);
		 }
		 // ...
	  } else {
		  // disable tray option
	  }
	  // ...
}
}

 

 

 

her er kode for gjemming av GUI, der m_visGUI og m_skjulGUI er av typen MenuItem

m_visGUI.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
	setVisible(true);
	requestFocus();
}
});
m_skjulGUI.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
	setVisible(false);
}
});

Endret av emva
Lenke til kommentar
  • 4 uker senere...
Sjekk ut SystemTray og TrayIcon. To nye klasser i awt-pakken som kom i 1.6. ;)

 

NNNGHhh...Jeg prøver å la være å spamme for første gang, men jeg MÅ fortelle lostoblivion hvor mye jeg elsker avataren hans!

 

LostOblivion, jeg elsker avataren din. :w00t:

 

Takk for meg... :whistle:

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...