#31
20-01-08 15:12
java is forever #31
20-01-08 15:12
![]()
Xboxman ![]()
#32
20-01-08 15:56
Ho fatto così:
Codice:import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ShowColors extends JFrame { public ShowColors() { setTitle("Using colors"); setSize(400,150); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public void paint(Graphics g) { super.paint(g); g.setColor(new Color(255,0,0)); g.fillRect(25,35,100,30); g.drawString("Current RGB: "+g.getColor(),130,50); g.setColor(new Color(0.0f,1.0f,0.0f)); g.fillRect(25,60,100,30); g.drawString("Current RGB: "+g.getColor(),130,75); g.setColor(Color.BLUE); g.fillRect(25,85,100,30); g.drawString("Current RGB: "+g.getColor(),130,100); Color color = Color.MAGENTA; g.setColor(color); g.fillRect(25,110,100,25); g.drawString("RGB values: "+color.getRed()+", "+color.getGreen()+", "+color.getBlue(),130,125); } public static void main(String[] args) { addFocusListener(new FocusListener() { public void focusGained(FocusEvent e) { ShowColors application = new ShowColors(); } public void focusLost(FocusEvent e) { ShowColors application = new ShowColors(); } }); } }
java is forever #33
20-01-08 16:18
_-_
1) nel main non puoi usare i metodi non-static di JFrame. Il listener mettilo nel costruttore.
2) perche' crei ogni volta un nuovo oggetto? Basta fare il repaint su quello che hai gia'
java is forever #35
21-01-08 20:26
Ecco, me ne ero quasi dimenticato
Ecco il risultato:Codice PHP:import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ShowColors extends JFrame
{
public ShowColors()
{
setTitle("Using colors");
setSize(500,150);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JFrame frame = this;
addFocusListener(new FocusAdapter() {
public void focusGained(FocusEvent e)
{
frame.repaint();
}
});
setLocationRelativeTo(null);
setVisible(true);
}
public void paint(Graphics g)
{
super.paint(g);
g.setColor(new Color(255,0,0));
g.fillRect(25,35,100,30);
g.drawString("Current RGB: "+g.getColor(),130,50);
g.setColor(new Color(0.0f,1.0f,0.0f));
g.fillRect(25,60,100,30);
g.drawString("Current RGB: "+g.getColor(),130,75);
g.setColor(Color.BLUE);
g.fillRect(25,85,100,30);
g.drawString("Current RGB: "+g.getColor(),130,100);
Color color = Color.MAGENTA;
g.setColor(color);
g.fillRect(25,110,100,25);
g.drawString("RGB values: "+color.getRed()+", "+color.getGreen()+", "+color.getBlue(),130,125);
}
public static void main(String[] args)
{
new ShowColors();
}
}
Ah, sia con il focusListener che senza il programma funziona perfettamente a me![]()
![]()
Xboxman ![]()
#36
21-01-08 20:30
Grazie dopo lo provo... ma come mai a certi da un risultato e a certi un altro?Ecco, me ne ero quasi dimenticato
Ecco il risultato:Codice PHP:import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ShowColors extends JFrame
{
public ShowColors()
{
setTitle("Using colors");
setSize(500,150);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JFrame frame = this;
addFocusListener(new FocusAdapter() {
public void focusGained(FocusEvent e)
{
frame.repaint();
}
});
setLocationRelativeTo(null);
setVisible(true);
}
public void paint(Graphics g)
{
super.paint(g);
g.setColor(new Color(255,0,0));
g.fillRect(25,35,100,30);
g.drawString("Current RGB: "+g.getColor(),130,50);
g.setColor(new Color(0.0f,1.0f,0.0f));
g.fillRect(25,60,100,30);
g.drawString("Current RGB: "+g.getColor(),130,75);
g.setColor(Color.BLUE);
g.fillRect(25,85,100,30);
g.drawString("Current RGB: "+g.getColor(),130,100);
Color color = Color.MAGENTA;
g.setColor(color);
g.fillRect(25,110,100,25);
g.drawString("RGB values: "+color.getRed()+", "+color.getGreen()+", "+color.getBlue(),130,125);
}
public static void main(String[] args)
{
new ShowColors();
}
}
Ah, sia con il focusListener che senza il programma funziona perfettamente a me
Comunque ho provato a creare il jar anche con quella prima riga, e ho notato che il numero di persone che possono aprirlo, è aumentato, ma c'è sempre qualcuno che non riesce pur avendo installato Java... perchè queste anomalie? o_O E' normale che dopo aver cliccato le prime volte su un jar per eseguirlo il programma mi va leggermente a scatti, nel senso che è lento ad aprire le finestre di dialogo?
![]()
miniBill '90 ![]()
#37
21-01-08 20:34
Magari hanno una versione vecchia di Java?
![]()
Xboxman ![]()
#38
21-01-08 21:09
Continua a darmi lo stesso errore... se tengo aperto il programma, e clicco sullo sfondo dello schermo (cioè ad esempio su un'altra finestra che sta dietro), quando poi in basso sulla barra menu start vado a cliccare dinuovo sul programma, QUASI sempre mi riappare la finestra grigia...
Piccola curiosità: cosa dovrei modificare per rendere il programma compatibile su un cellulare?
java is forever #39
21-01-08 22:07
Non saprei, forse hanno una versione vecchia o le loro variabili d'ambiente sono a putta*eGrazie dopo lo provo... ma come mai a certi da un risultato e a certi un altro?
Comunque ho provato a creare il jar anche con quella prima riga, e ho notato che il numero di persone che possono aprirlo, è aumentato, ma c'è sempre qualcuno che non riesce pur avendo installato Java... perchè queste anomalie? o_O E' normale che dopo aver cliccato le prime volte su un jar per eseguirlo il programma mi va leggermente a scatti, nel senso che è lento ad aprire le finestre di dialogo?
Ho fatto diverse prove, a me non torna mai con finestra grigia, lo vedo sempre cosi' quando non ha il focus:
Praticamente tutto
In j2me non hai JFrame ma MIDlet, i componenti sono pochi e minimali ecc. Una MIDlet è piu' simile ad un'applet che ad una applicazione "normale"![]()
![]()
Xboxman ![]()
#40
21-01-08 22:35
Capisco... ma da cosa potrebbe dipendere questo problema di grafica?? o_ONon saprei, forse hanno una versione vecchia o le loro variabili d'ambiente sono a putta*e
Ho fatto diverse prove, a me non torna mai con finestra grigia, lo vedo sempre cosi' quando non ha il focus:
Praticamente tutto
In j2me non hai JFrame ma MIDlet, i componenti sono pochi e minimali ecc. Una MIDlet è piu' simile ad un'applet che ad una applicazione "normale"
java is forever #41
21-01-08 22:38
java is forever #43
22-01-08 08:58
![]()
Xboxman ![]()
#44
22-01-08 15:30
Ora provo nell'altra partizione, ma non so che versione c'è lì... comunque, ho provato a creare il jar di questo programma, ma è l'unico che quando clicco 2 volte sul jar non succede niente... eppure ho fatto "jar cmf info.txt ShowColors.jar ShowColors.class". Ovviamente modificando a dovere come faccio con gli altri programmi info.txt. A cosa è dovuta sta cosa? o_O