Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Creazione di Componenti per interviste in modo dinamico

    Ciao a tutti,

    io ho un problema simile. Ho Bisogno di creare dei combo box dinamicamente in base ad un numero di attrubuti che gli passo dalla classe main. Vorrei una cosa così



    Oppure una cosa con i radio button così



    I valori da selezionare sono numeri interi da 1 a 5. Quindi l'utente dovrà valutare gli attribut1 x,y,z ecc,.. con un valore da 1 a 5. Quando preme OK mi deve restituire un arrey di numeri interi con le sue valutazioni.

    Possiamo pensare in alternativa anche un componente jslider da 1 a 5. non è un problema. Mi puoi aiutare. Le variabili in entrata sarebbero i numero degli attributi da valutare ( che coinciderà con numero di label e combox) e il numero nome degli stessi che andrà inserito nelle label.

    Mi date una mano? Grazie

  2. #2
    Ciao, considerando il secondo esempio (quello dei JRadioButton), puoi creare una classe che estende JPanel, che contiene degli oggetti che estendono JRadioButton, oltre al titolo ("Confronto Attributo n"). Gli oggetti della sottoclasse di JRadioButton conterranno il valore della votazione (per essere generici, anche se lo potresti ricavare dalla label di ogni radio button). Qualcosa del genere:

    Codice PHP:
    package gui;

    import javax.swing.JRadioButton;

    public class 
    VoteRadioButton extends JRadioButton 
    {
        private static final 
    long serialVersionUID = -2719874808524680874L;
        private 
    String _text;
        private 
    int _value;
        
        public 
    VoteRadioButton(String textint value)
        {
            
    super(text);
            
    _text text;
            
    _value value;
        }    
        
        public 
    String getText()
        {
            return 
    _text;
        }
        
        public 
    int getValue()
        {
            return 
    _value;
        }

    La classe che contiene i vari VoteRadioButton ha una struttura simile:

    Codice PHP:
    public class MultiRadioButton extends JPanel 
    {
        private 
    String _question                null;    
        private List<
    VoteRadioButton_buttons    = new ArrayList<VoteRadioButton>();
        private 
    ButtonGroup _grouper             = new ButtonGroup();
    .
    .

    dovre _question è il testo associato alla scelta multipla, _buttons è la lista dei VoteRadioButton e _grouper è l'associatore dei radiobutton.
    Durante l'inizializzazione crei e aggiungi i VoteRadioButton al MultiRadioButton, utilizzando un GridLayout o meglio un GridBagLayout.
    A quel punto crei un metodo in MultiRadioButton per ottenere il button selezionato ed applicargli il metodo getValue() per ottenere il valore numerico associato al bottone (sempre in ottica generica. Potresti ad esempio voler creare un MultiRadioButton con tre VoteRadioButton, con testo-valore del tipo <"Pessimo", 3>, <"Medio", 5>, <"Ottimo", 9>)

    A questo punto devi decidere solo i dettagli, perchè la struttura la avresti.
    Nella finestra principale dovresti solo aggiungere i vari oggetti MultiRadioButton (ognuno relativo ad una scelta multipla) e creare la logica dell'applicazione.


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 © 2025 vBulletin Solutions, Inc. All rights reserved.