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 12-03-2012, 16:34   #1
meryalc
Junior Member
 
L'Avatar di meryalc
 
Iscritto dal: Mar 2012
Messaggi: 23
Java problema visualizzazione immagine in un jpanel

Ciao a tutti ! Ho un problema con la visualizzazione di un'immagine presa da file, in un jPanel; ho creato una classe principale, separando le classi JPanel e JFrame.

package provaimg;


import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;

public class ProvaIMG {
public ProvaIMG(String nomeFile){
super();
}

private static int POSIZIONE_ALTEZZA = 0;
private static int POSIZIONE_ALTEZZA_OFFSET = 30;
static int x,y;


public static void main(String[] args) {
try {//finestra seleziona file
JFileChooser fileChooser = new JFileChooser("./");
fileChooser.showOpenDialog(null);
File file = fileChooser.getSelectedFile();

BufferedImage immagine = ImageIO.read(file);
x = immagine.getHeight(); //altezza M righe
y = immagine.getWidth(); //larghezza N colonne
//JOptionPane.showMessageDialog(null, "height: "+x+ " width: "+y); //verifica acquisizione dimensione

apriFrame(immagine, false);

} catch(IOException e) {
System.out.println(e.getMessage());
} catch(Exception e){
JOptionPane.showMessageDialog(null, " Errore: formato non supportato! "); //es qualsiasi altro formato
}
}// end main

public static void apriFrame(final BufferedImage immagine, boolean startCustomJFrame1View){
JPanel pannello = new JPanel(immagine);
JFrame1 frame = new JFrame1(immagine, pannello);


frame.getContentPane().add(pannello, BorderLayout.CENTER);
frame.repaint();
frame.pack();
frame.setVisible(true);

if(startCustomJFrame1View){
frame.setLocation(0, POSIZIONE_ALTEZZA);

if(Toolkit.getDefaultToolkit().getScreenSize().height - frame.getSize().height > POSIZIONE_ALTEZZA){
POSIZIONE_ALTEZZA = POSIZIONE_ALTEZZA + POSIZIONE_ALTEZZA_OFFSET;
}else{
POSIZIONE_ALTEZZA = 0;
}
}
if(!startCustomJFrame1View){
frame.setLocationRelativeTo(null);
}
}
}// end class

La classe JPanel:

package provaimg;


import java.awt.image.BufferedImage;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;

public class JPanel extends javax.swing.JPanel {

private BufferedImage immagineBuf;

public JPanel(BufferedImage immagineBuf) {
this.immagineBuf = immagineBuf;
initComponents();
this.setPreferredSize(new Dimension(immagineBuf.getWidth(), immagineBuf.getHeight()) );

}

@SuppressWarnings("unchecked")

@Override
public void paint(Graphics g) {
super.paintComponent(g);
System.out.print("CIAO");
g.clearRect(0, 0, this.getWidth(), this.getHeight());
Graphics2D g2 = (Graphics2D)g;

g2.drawImage(immagineBuf, null, 0, 0);
g2.dispose();
}

}

La classe JFrame:

public class JFrame1 extends javax.swing.JFrame {

private BufferedImage bufImmagine;
private JPanel customJPanel;

public JFrame1( BufferedImage bufImmagine, JPanel customJPanel ) {
super();
this.bufImmagine = bufImmagine;
this.customJPanel = customJPanel;
initComponents();
this.setTitle("Finestra principale");

}

Quello che riesco a vedere è una finestra grigia (con una jtoolbar che ho messo sul jframem utilizzando lo strumento apposito di netbeans), ma non riesco a vedere l'immagine
p.s. jpanel della stessa dimensione del jframe.

Qualcuno sà dirmi cosa sbaglio? o cosa mi manca?
Grazie in anticipo
meryalc è offline   Rispondi citando il messaggio o parte di esso
Old 13-03-2012, 08:52   #2
Dan__88
Senior Member
 
Iscritto dal: Aug 2011
Messaggi: 672
mhhh
Ma Si può creare un Pannello partendo da una bufferedImage?
Sicuro?
Che editor usi? Eclipse?
Codice:
JPanel pannello = new JPanel(immagine);
__________________
Trattative positive: Ares17, TerrorSwing, HaraN.BanjO, Stevejedi, rtype, lucariello86, Leland Gaunt, antotuning, goudkamp
Vendo Ricambi Acer Extensa 5235 -- Ricambi HP dv9000 -- Ricambi Hp dv6000 -- Ventole, Cavi, Adattatori, Schede di Rete, Ecc
Dan__88 è offline   Rispondi citando il messaggio o parte di esso
Old 13-03-2012, 15:37   #3
meryalc
Junior Member
 
L'Avatar di meryalc
 
Iscritto dal: Mar 2012
Messaggi: 23
Uso Netbeans, si di questo sono sicura..il problema è che alla fine dovrei ottenere una finestra con i due bottoni "Apri Immagine" e "Seleziona Punti"
con l'immagine aperta, invece vedo solo i jbutton, ma non l'immagine :-//
meryalc è offline   Rispondi citando il messaggio o parte di esso
Old 13-03-2012, 16:48   #4
Dan__88
Senior Member
 
Iscritto dal: Aug 2011
Messaggi: 672
Mhhh..
nelle API non lo vedo..
http://docs.oracle.com/javase/1.4.2/...ng/JPanel.html
__________________
Trattative positive: Ares17, TerrorSwing, HaraN.BanjO, Stevejedi, rtype, lucariello86, Leland Gaunt, antotuning, goudkamp
Vendo Ricambi Acer Extensa 5235 -- Ricambi HP dv9000 -- Ricambi Hp dv6000 -- Ventole, Cavi, Adattatori, Schede di Rete, Ecc
Dan__88 è offline   Rispondi citando il messaggio o parte di esso
Old 13-03-2012, 22:50   #5
meryalc
Junior Member
 
L'Avatar di meryalc
 
Iscritto dal: Mar 2012
Messaggi: 23
La classe JPanel è quella che mi sono costruita appositamente, non è questo il problema :-//

L'ho anche copiata..quelle che ho messo sono le tre classi che ho fatto.
meryalc è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2012, 16:00   #6
Dan__88
Senior Member
 
Iscritto dal: Aug 2011
Messaggi: 672
Ah scusa non me n'ero accorto, diciamo che non è molto convenzionale
Invece initComponents(); cosa fa?..
__________________
Trattative positive: Ares17, TerrorSwing, HaraN.BanjO, Stevejedi, rtype, lucariello86, Leland Gaunt, antotuning, goudkamp
Vendo Ricambi Acer Extensa 5235 -- Ricambi HP dv9000 -- Ricambi Hp dv6000 -- Ventole, Cavi, Adattatori, Schede di Rete, Ecc
Dan__88 è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2012, 17:12   #7
meryalc
Junior Member
 
L'Avatar di meryalc
 
Iscritto dal: Mar 2012
Messaggi: 23
ho risolto in un altro modo..ma ho risolto..ovvero ho tenuto separato solo il jpanel, mentre il jframe, con la sua jtoolbar e i jbutton li ho inglobati nella classe ProvaIMG (quindi dove ho il main)... prima di fare questo ho controllato se il problema fosse nel jpanel o nel metodo paint ridefinito, ma questo non mi dava alcun problema, ho concluso che il problem fosse nell'aggiunta del pannello al jframe!!

(cmq initComponents() è un metodo che "ottengo" in automatico, dato che per creare il jframe e il jpanel, ora solo il jpanel, ho utilizzato gli strumenti di netbeans )

Ultima modifica di meryalc : 15-03-2012 alle 17:15.
meryalc è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2012, 17:44   #8
Dan__88
Senior Member
 
Iscritto dal: Aug 2011
Messaggi: 672
ahok, magari era proprio quello a dare problemi !
__________________
Trattative positive: Ares17, TerrorSwing, HaraN.BanjO, Stevejedi, rtype, lucariello86, Leland Gaunt, antotuning, goudkamp
Vendo Ricambi Acer Extensa 5235 -- Ricambi HP dv9000 -- Ricambi Hp dv6000 -- Ventole, Cavi, Adattatori, Schede di Rete, Ecc
Dan__88 è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2012, 17:48   #9
meryalc
Junior Member
 
L'Avatar di meryalc
 
Iscritto dal: Mar 2012
Messaggi: 23
Grazie cmq il problema nn era quel metodo, ma proprio il'aggiunta del pannello al frame
meryalc è 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...
Steam Machine, LED rosso e falsi positiv...
SharpEmu, nuovo emulatore PlayStation 5 ...
Sovranità sui dati: Oracle AI Dat...
Monopattini, scatta l'obbligo di assicur...
CMF by Nothing in offerta su Amazon: Bud...
Mirandetta: la moto elettrica stampata i...
'Scam Altman': Musk vs Altman in rissa d...
Apple Studio Display, il monitor 5K da 2...
Grok invia file .env e password in chiar...
GeForce RTX 5000: il sensore hotspot c'&...
id Software rassicura i giocatori: abbia...
MOVA LiDAX Ultra 800, 1200 e 1600: i rob...
Data center, consumo elettrico quintupli...
I monitor OLED migliorano ancora: VESA ...
ECOVACS DEEBOT T50 OMNI Gen2, 21.000 Pa ...
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: 11:24.


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