Problema resize con gridbaglayout

di il
5 risposte

Problema resize con gridbaglayout

Sto creando una schermata dove mostrare una serie di chiamate all'assistenza clienti e l'ho divisa in due parti.. La parte superiore con dei campi per filtrare la tabella presente nella seconda parte. Siccome sopra ho un datepicker un jtextfield e una combo box ho optato per creare un pannello che ha layout gridbaglayout. Solamente che i componenti non si adattano come voglio. Per esempio nella jtextfield ho fatto:

GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy=0;
c.fill = c.HORIZONTAL; 
Se vado ad aggiungere questo al pannello e poi aggiungo il pannello al frame il componente non occupa tutto lo spazio, mentre se aggiungo il componente direttamente al frame mi occupa tutta la riga(come dovrebbe essere)

5 Risposte

  • Re: Problema resize con gridbaglayout

    squizzi ha scritto:


    Se vado ad aggiungere questo al pannello e poi aggiungo il pannello al frame il componente non occupa tutto lo spazio, mentre se aggiungo il componente direttamente al frame mi occupa tutta la riga(come dovrebbe essere)
    Sarà che stamattina sono un po' addormentato ... ma onestamente non ho capito bene come vuoi disporre le cose e quale codice hai scritto.
    Se vuoi tenere più componenti in fila orizzontale, c'è anche il BoxLayout.
  • Re: Problema resize con gridbaglayout

    In pratica devo disporre una jtextfield una label una combobox e un datepicker. Solamente che ho settato che la jtextfield deve occupare tutto lo spazio orizzontale, ma non lo fa.. Ho settato anche il peso a 1 ma niente
  • Re: Problema resize con gridbaglayout

    squizzi ha scritto:


    In pratica devo disporre una jtextfield una label una combobox e un datepicker. Solamente che ho settato che la jtextfield deve occupare tutto lo spazio orizzontale, ma non lo fa.. Ho settato anche il peso a 1 ma niente
    Puoi mostrare un po' più di codice? Oggi il mio livello di attenzione è mooolto basso ...
  • Re: Problema resize con gridbaglayout

    Dovrebbe venire jtextfield grande e poi label combobox e un pannello dove ho messo dei radio button(datePicker sta sempre in prima posizione perchè se l'utente sceglie di filtrare per data mostro il dataPicker altrimenti mostro il JtextField)
    
    JPanel pannelloScelta = new JPanel(new GridBagLayout());
    		c.gridx = 0;
    		c.gridy = 0;
    		c.weightx=1;
    		c.weighty=1;
    		c.insets = new Insets(20,20,20,20);
    		c.fill = c.HORIZONTAL;
    		pannelloScelta.add(filtro,c);
    		c.weightx=0;
    		c.weighty=0;
    		c.fill = c.NONE;
    		c.gridx=1;		
    		pannelloScelta.add(labelScelta,c);
    		c.gridx=2;
    		c.insets = new Insets(20,20,20,200);
    		pannelloScelta.add(comboScelta,c);
    		c.gridx=3;
    		c.insets = new Insets(20,20,20,20);
    		pannelloScelta.add(pannelloBottoni,c);
    		c.gridx =0;
    		datePicker.setVisible(false);
    		c.fill = c.HORIZONTAL;
    		pannelloScelta.add(datePicker,c);
    		c.insets = new Insets(10,10,10,10);
    		c.gridx=0;
    		c.gridy=0;
    		c.weightx =0;
    		c.weighty =0;
    		this.getContentPane().add(pannelloScelta, c);
    
    inoltre se puoi aiutarmi con il filtrare i risultati di una jtable. In pratica dovrei filtrare le chiamate all'assistenza clienti per attive o chiuse e se poi se vado a mettere ad esempio nel text field GIUSEPPE ROSSI e ho il radio button su attivo, dovrebbe mostrarmi tutte le chiamate attive per GIUSEPPE ROSSI. Singolarmente i filtri vanno tutti, però provando a filtrare con due colonne non riesco. Sto utilizzano il RowFilter.andFilter(passo arraylist dei filtri)
    
    firstFilter = RowFilter.regexFilter("true", 5);
    filtri.add(firstFilter);
    filtri.add(RowFilter.regexFilter(s, 1));
    sorter.setRowFilter(RowFilter.andFilter(filtri));
    
  • Re: Problema resize con gridbaglayout

    Selezionando le chiamate attive visualizza solamente le chiamate attive, poi ad esempio scrivo 44 e visualizzo tutte le chiamate del cliente 44 (sia attive che disattive)poi se cancello il campo di testo torna a visualizzare solamente le chiamate attive
Devi accedere o registrarti per scrivere nel forum
5 risposte