PDA

Visualizza la versione completa : problema con JPanel()


tcc
10-11-2004, 19:45
La mia idea è quella di creare una finestra,dopo di che vorrei
dividere la parte centrale in due,la cui idea futura e
quella di inserire immagini.Ho creato la finestra e vari menu'
ma non riesco a dividere la parte centrale.Ho usato
JPanel con GridLayout() ma niente,forse sbaglio ad usarlo?Come fare?
Inoltre come gestire un salvataggio di un file?GRAZIE

CODICE:

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;


public class FinestraSwing extends JFrame{

private JMenuBar barra = new JMenuBar();
private JMenu file = new JMenu("File");
private JMenu effect = new JMenu("Effect");
private JMenuItem esci = new JMenuItem("Esci");
private JMenuItem salva = new JMenuItem("Salva con nome");
private JMenuItem apri = new JMenuItem("Apri");
private JOptionPane pannello = new JOptionPane();
private JFileChooser aprifile = new JFileChooser();



private JPanel imgPanel = new JPanel(new GridLayout(1,2));

Container contentPane = getContentPane();









/* Costruttore della classe*/
public FinestraSwing() throws HeadlessException {
super("Mia finestra");
setSize(800,600);
barra.add(file);
barra.add(effect);
file.add(apri);
file.add(salva);
file.add(esci);
imgPanel.setLayout(new GridLayout(1,2));
imgPanel.setBackground(Color.white);
contentPane.add(barra, BorderLayout.NORTH);
contentPane.add(imgPanel, BorderLayout.CENTER);



esci.addActionListener(new AscoltaEsci());
apri.addActionListener(new AscoltaApri());

}
public class AscoltaEsci implements ActionListener{

public void actionPerformed(ActionEvent e) {


System.exit(0);

}

}


public class AscoltaApri implements ActionListener{

public void actionPerformed(ActionEvent e) {

aprifile.setDialogTitle("Scegli");
aprifile.showOpenDialog (pannello);
String fileName = new String(aprifile.getSelectedFile().toString());
System.out.print(fileName);

}

}





public static void main(String[] args) throws HeadlessException {
FinestraSwing finestraSwing1 = new FinestraSwing();
finestraSwing1.setVisible(true);

}



}

LeleFT
10-11-2004, 21:16
Io non ho provato il tuo codice, am leggendolo (a fatica: la prossima volta usa i tag [*CODE][*/CODE] (senza asterischi), per il codice) direi che hai diviso il pannello centrale in due. Se speravi di avere un riscontro visivo di questo fatto sei rimasto ingannato! In pratica, hai diviso logicamente il pannello in modo che possa contenere 2 oggetti (uno a sinistra e uno a destra), ma se non ci metti dentro niente, non puoi vedere questo effetto. Prova ad aggiungere 2 controlli al pannello che hai chiamato imgPanel e vedrai l'effetto!

Per la gestione dei file devi creare un oggetto FileOutputStream e utilizzare, i suoi metodi per scriverci. Per aiutarti, puoi utilizzare questo FileOutputStream per costruire un PrintStream ed utilizzare il metodo println() per scriverci dentro del testo.
Poi, tutto dipende da che tipo di file devi creare... :)


Ciao. :ciauz:

tcc
10-11-2004, 23:55
Grazie adesso proverò ad usare i controlli..
Comunque i file da salvare sono delle immagini modificate in luminosità contrasto ect..e la stessa cosa?
Ciao

LeleFT
11-11-2004, 00:01
Sì... puoi usare delle JLabel per visualizzare le immagini!


Ciao. :ciauz:

Loading