Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
HONOR Magic V6 è arrivato in Italia a 2.299,90 euro con una promessa precisa: unire 4 mm di spessore da aperto (8,75 mm chiuso nel modello White, 9 mm negli altri colori) a una batteria da 6.660 mAh, la più capiente mai vista su un pieghevole. Lo abbiamo usato per oltre una settimana in versione Red 16/512 GB per capire se lo Snapdragon 8 Elite Gen 5 tiene testa alla concorrenza anche fuori dai benchmark ufficiali
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7 punta su un display ampio e fluido, una batteria capace di accompagnare l'uso quotidiano senza ansie da ricarica e un prezzo accessibile, a partire da 179,90 euro per la versione con 64 GB di storage. Lo Snapdragon 6s 4G Gen 2 e i 4 GB di RAM della configurazione più diffusa frenano però chi cerca reattività e multitasking spinto: ecco il bilancio dopo due settimane di prova diretta
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Polygon è la concept car di Peugeot che mostra il futuro delle soluzioni del segmento B: tra design compatti e innovativi affiancati da dimensioni compatte uno scherzo dalla manovrabilità incredibile per le manovre a bassa velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-04-2006, 12:47   #1
ilop
Member
 
Iscritto dal: Sep 2005
Città: Battipaglia(SA)
Messaggi: 162
JAVA - Pulsante lappeggiante sulla barra delle applicazioni

Salve a tutti!
Sto creando una chat in Java e mi servirebbe il vostro aiuto per una piccola cosetta dell'interfaccia grafica.
In pratica voglio che quando la finestra della chat è ridotta ad icona, il relativo pulsante sulla barra delle applicazioni deve lappeggiante come succede per MSN Messenger, o se non è possibile farlo lampeggiare, vorrei comunque creare un effetto visivo che attiri l'attenzione.
Chi mi da una mano???

Ultima modifica di ilop : 30-04-2006 alle 01:12.
ilop è offline   Rispondi citando il messaggio o parte di esso
Old 01-05-2006, 00:50   #2
ilop
Member
 
Iscritto dal: Sep 2005
Città: Battipaglia(SA)
Messaggi: 162
Possibile che nessuno ne sappia niente!?!?!
ilop è offline   Rispondi citando il messaggio o parte di esso
Old 01-05-2006, 09:35   #3
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Assumendo che tu stia usando JDIC, basta sostituire periodicamente l'icona. Ti faccio un esempio per la futura piattaforma Java SE 6, che include JDIC (TrayIcon, SystemTray):

FrameSequence.java
Codice:
package it.tukano.trayicondemo;

import java.awt.*;

public class FrameSequence {
	private Image[] frames;
	private int frameIndex;
	
	public FrameSequence(Image...frameImages) {
		frames = frameImages;
	}

	public void reset() {
		frameIndex = 0;
	}
	
	public void nextFrame() {
		frameIndex++;
		if(frameIndex == frames.length) {
			frameIndex = 0;
		}
	}


	public Image getCurrentFrame() {
		return frames[frameIndex];
	}
}
TrayIconAnimator.java
Codice:
package it.tukano.trayicondemo;

import java.awt.event.*;
import java.awt.*;

public class TrayIconAnimator implements ActionListener {
	private TrayIcon target;
	private FrameSequence frames;
	private javax.swing.Timer animator;
	
	public TrayIconAnimator(TrayIcon targetTrayIcon, int frameTime,
		FrameSequence frameSequence)
	{
		target = targetTrayIcon;
		frames = frameSequence;
		animator = new javax.swing.Timer(frameTime, this);
	}
	
	public void start() {
		animator.start();
	}
	
	public void stop() {
		animator.stop();
		frames.reset();
		target.setImage(frames.getCurrentFrame());
	}

	public void actionPerformed(ActionEvent e) {
		frames.nextFrame();
		target.setImage(frames.getCurrentFrame());
	}
}
Main.java
Codice:
package it.tukano.trayicondemo;

import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;

public class Main implements Runnable, ActionListener {
	//Crea e avvia Main se SystemTray è supportato.
	public static void main(String...args) {
		if(SystemTray.isSupported()) {
			startApp(createMain());
		} else {
			System.err.println("SystemTray not available on this platform");
		}
	}
	
	/*Main o null, a seconda che il caricamento delle immagini vada o meno
	a buon fine*/
	private static Main createMain() {
		try {
			return new Main();
		} catch(IOException ex) {
			ex.printStackTrace();
			System.err.println("Cannot load frame images");
			return null;
		}
	}
	
	/*Avvia il main in argomento usando la coda degli eventi AWT/Swing se main
	sia diverso da null*/
	private static void startApp(Main main) {
		if(main != null) {
			SwingUtilities.invokeLater(main);
		}
	}
	
	private TrayIconAnimator animator;
	private TrayIcon trayIcon;
	
	/*Genera una sequenza di immagini, un TrayIcon e un animatore. Associa al
	TrayIcon l'ActionListener (this) che causa lo spegnimento della jvm*/
	public Main() throws IOException {
		FrameSequence seq = new FrameSequence(
			ImageIO.read(Main.class.getResource("/icons/frame000.png")),
			ImageIO.read(Main.class.getResource("/icons/frame001.png")));
		trayIcon = new TrayIcon(seq.getCurrentFrame(), "Java™ Sample");
		trayIcon.addActionListener(this);
		animator = new TrayIconAnimator(trayIcon, 500, seq);
	}
	
	/*Operazioni eseguite dall'AWT Event Dispatcher Thread */
	public void run() {
		try {
			SystemTray.getSystemTray().add(trayIcon);
			animator.start();
		} catch(AWTException ex) {
			ex.printStackTrace();
			System.err.println(
				"An error occurred while adding icon to SystemTray");
		}
	}
	
	/*L'attivazione dell'icona provoca lo spegnimento della jvm*/
	public void actionPerformed(ActionEvent e) {
		animator.stop();
		SystemTray.getSystemTray().remove(trayIcon);
	}
}
A scanso d'equivoci, JDIC sta per Java Desktop Integration Components, un pacchetto non standard (fino a Java SE 5) che puoi scaricare da qui:

https://jdic.dev.java.net/

Usando Java 5 per compilare il codice su riportato dovrebbe essere sufficiente aggiungere le clausole "import":

import org.jdesktop.jdic.tray.*;

nelle unità Main.java e TrayIconAnimator.java
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere? Recensione HONOR Magic V6: spessore record e sup...
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni Redmi Pad 2 9.7: ampio display, economico e peso...
Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Il presidente di Sony ha venduto il 56,5...
Nuova vulnerabilità per il kernel...
Fallout Stagione 2: 10 le nomination agl...
IQM porterà il quantum computer L...
2 MB di memoria RAM sono sufficienti per...
Incendio a Bovisa: cosa succede quando u...
AMD lancia 11 nuovi processori tra Ryzen...
IBM tra IA, sovranità digitale e ...
Blocco dei social sotto i 14 anni. A chi...
Nothing Ear (3a): la recensione delle cu...
DENZA BAO 5, il primo SUV del marchio BY...
Addio cavi in auto: Ottocast a IFA con C...
HONOR "Summer Essentials": l'e...
IBM fa la cura dimagrante ai mainframe z...
DENZA Z, la supercar con 3 motori elettr...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:45.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v