Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281

    [Java] JPannel e allineamento componenti interni

    Ciao a tutti!
    Ho un problema con i JPanel. In pratica ho creato una GUI che contiene tre pannelli a schede. In uno voglio per esempio metterci dei JTextField, in un altro dei JComboBox e nell'ultimo una JLIst.
    Il fatto č che non riesco a posizionarli come vorrei; infatti con i JTextField, metto il promo a nord, il secondo al centro , il terzo a sud ma stanno come vogliono.

    Come mai?

    pgm

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    posta il codice

  3. #3
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    Eccolo!
    Mi da problemi anche con il JMenuBar.

    Pgm

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

    public class gestionale extends Frame{

    public static int WIDTH = 800;
    public static int HEIGHT = 600;
    public static String TITLE = "Gestionale WP";

    JTabbedPane fondo = new JTabbedPane();
    JPanel Anagrafica = new JPanel();
    JPanel Tabella1 = new JPanel();
    JPanel Tabella2 = new JPanel();

    JPanel prova1 = new JPanel();
    JPanel prova2 = new JPanel();
    JPanel prova3 = new JPanel();

    JPanel[] pannelli = {Anagrafica,Tabella1,Tabella2};

    JMenuBar barraMenu = new JMenuBar();
    JMenu fileMenu = new JMenu("File");
    JMenuItem fileExit = new JMenuItem("Esci");

    JTextField nome = new JTextField(15);
    JTextField cognome = new JTextField(15);
    JTextField data = new JTextField(15);
    JTextField luogo = new JTextField(15);
    JTextField residenza = new JTextField(15);
    JTextField citta = new JTextField(15);
    JTextField telcasa = new JTextField(15);
    JTextField telcell = new JTextField(15);

    String[] tabelle = {"","RW-DSXDUG","dottore","ingegnere","architetto","cavali ere","signore","signora"};
    JComboBox combo = new JComboBox(tabelle);

    String[] campi = {"","RW-DSXTITACC","via","viale","piazza","piazzetta","vic olo","corso","localita"};
    JList lista = new JList(campi);

    JScrollPane scroll = new JScrollPane(lista);

    JButton invia = new JButton("visualizza");
    JButton invia1 = new JButton("visualizza");
    JButton invia2 = new JButton("visualizza");

    Container frameContainer;


    public gestionale() {

    super(TITLE);
    buildGUI();
    setSize(WIDTH,HEIGHT);
    setupEventHandlers();
    setBackground(Color.darkGray);
    setBounds(100,60,600,400);
    setResizable(false);
    show();

    }


    void buildGUI(){

    String[] tabs = {"Anagrafica","RW-DSXDUG","RW-DSXTITACC"};
    String[] tabTips = {"Anagrafica","RW-DSXDUG","RW-DSXTITACC"};

    for(int i=0;i<tabs.length;++i){
    pannelli[i].setBackground(Color.lightGray);
    pannelli[i].setBorder(new TitledBorder(tabTips[i]));
    fondo.addTab(tabs[i],null,pannelli[i],tabTips[i]);
    }

    addComponentsToTabs();
    add("Center",fondo);

    }


    void addComponentsToTabs(){

    setupMenuBar();
    setupAnagrafica();

    }


    void setupMenuBar(){

    fileMenu.add(fileExit);
    barraMenu.add(fileMenu);
    setJMenuBar(barraMenu);

    }


    void setupAnagrafica(){

    prova1.add(new JLabel("Nome"));
    prova1.add(nome);

    prova1.add(new JLabel("Cognome"));
    prova1.add(cognome);

    prova1.add(new JLabel("Data di nascita"));
    prova1.add(data);

    Anagrafica.add("North",prova1);

    prova2.add(new JLabel("Luogo di nascita"));
    prova2.add(luogo);

    prova2.add(new JLabel("Residente in"));
    prova2.add(residenza);

    prova2.add(new JLabel("Cittā"));
    prova2.add(citta);

    Anagrafica.add("Center",prova2);

    prova3.add(new JLabel("telefono casa"));
    prova3.add(telcasa);

    prova3.add(new JLabel("Telefono Cellulare"));
    prova3.add(telcell);

    prova3.add(invia);

    Anagrafica.add("South",prova3);

    }


    void setupEventHandlers() {

    addWindowListener(new WindowHandler());
    invia.addActionListener(new ButtonHandler());
    invia1.addActionListener(new ButtonHandler());
    invia2.addActionListener(new ButtonHandler());
    fileExit.addActionListener(new MenuItemHandler());

    }


    class ButtonHandler implements ActionListener{

    public void actionPerformed(ActionEvent e){
    String s = e.getActionCommand();
    /*if(s.equals("Go")){
    stampaStringa();
    }*/
    }

    }


    class MenuItemHandler implements ActionListener{

    public void actionPerformed(ActionEvent d){
    String t = d.getActionCommand();
    if(t.equals("Esci")){
    System.exit(0);
    }
    }

    }


    public static void main(String args[]) {

    gestionale app = new gestionale();

    }


    public class WindowHandler extends WindowAdapter{

    public void windowClosing(WindowEvent e){
    System.exit(0);
    }

    }



    }

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    intendevo solo il codice interessante ...

    per aggiungere un componente a un BorderLayout
    panel.add(object, BorderLayout.SOUTH);

  5. #5
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    Mi spiace per aver postato tutto il codice.

    Ho aggiunto

    JPanel Anagrafica = new JPanel();
    [COLOR=blue]Anagrafica.setLayout(new BorderLayout());[COLOR]

    e

    [COLOR=blue] Anagrafica.add(prova1, BorderLayout.NORTH);[/I]

    Prova1 č un altro pannello.

    Ho questi errori:

    <identifier> expected
    Anagrafica.setLayout(new BorderLayout());

    e

    package Anagrafica does not exist

    Cosa č successo?

    Pgm

  6. #6
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    up

  7. #7
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    up

  8. #8
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    forse sta in un posto dove non ci deve stare
    mettilo nel costruttore

  9. #9
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    adesso funziona.
    L'unico problema č che i pannelli NORTH e CENTER sono uno sotto l'altro, mentre il pannello SOUTH č molto distaccato da questi due.

    BOOO!

    grazie mille comunque.

  10. #10
    Utente di HTML.it L'avatar di smt
    Registrato dal
    Jul 2002
    Messaggi
    167
    grazie people, questo vecchio 3d mi ha salvato da una crisi epilettica.
    Reality is that which, when you stop believing in it, doesn't go away

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.