Domanda

sto avendo il ridimensionamento problema con JList ... Qui di seguito è il mio codice ... la mia esigenza è quella di aggiungere un JList con una certa dimensione fissa in un pannello e quando ho massimizzare / minimizzare il telaio della JList dovrebbe aumentare / diminuire di conseguenza .please aiutarmi ..Come per raggiungere questo obiettivo?

In seguito è il disegno:

Ciao Carl, Funziona nei casi più semplici, ma non nel caso di cui sopra. Così sto explaning il codice di cui sopra ora ..

ho un telaio chiamato "TestListControl" con il layout GB.         Aggiungere selectDevicesPanel con il layout GB. In selectDevicesPanel:          Aggiungere selectNamesInnerPanel con il layout GB In selectNamesInnerPanel:          Aggiungere selectNameAddPanel con il layout GB          Aggiungere selectTeamPanel con il layout di flusso In selectNameAddPanel:          chooseDeviceScrollPane          clickToAddDeletePanel          selectedNameScrollPane In selectTeamPanel:          selectTeamLabel          selectTeamComboBox

public class TestListControl extends javax.swing.JFrame {

    public TestListControl() {
        initComponents();
    }

    private void initComponents() {
        java.awt.GridBagConstraints gridBagConstraints;

        selectDevicesPanel = new javax.swing.JPanel();
        selectNamesInnerPanel = new javax.swing.JPanel();
        selectNameAddPanel = new javax.swing.JPanel();
        chooseDeviceScrollPane = new javax.swing.JScrollPane();
        chooseNamesList = new javax.swing.JList();
        clickToAddDeletePanel = new javax.swing.JPanel();
        clickToAddButton = new javax.swing.JButton();
        clickToRemoveButton = new javax.swing.JButton();
        selectedNameScrollPane = new javax.swing.JScrollPane();
        selectedNamesList = new javax.swing.JList();
        selectNameLabel = new javax.swing.JLabel();
        selectTeamPanel = new javax.swing.JPanel();
        selectTeamLabel = new javax.swing.JLabel();
        selectTeamComboBox = new javax.swing.JComboBox();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        selectDevicesPanel.setBorder(javax.swing.BorderFactory
                .createTitledBorder("Member Selection"));
        selectDevicesPanel.setLayout(new java.awt.GridBagLayout());

        selectNamesInnerPanel.setLayout(new java.awt.GridBagLayout());

        selectNameAddPanel.setLayout(new java.awt.GridBagLayout());

        chooseNamesList.setModel(new javax.swing.AbstractListModel() {
            String[] strings = { "XXXX", "YYYY", "ZZZZ" };

            public int getSize() {
                return strings.length;
            }

            public Object getElementAt(int i) {
                return strings[i];
            }
        });
        chooseNamesList.setMaximumSize(new java.awt.Dimension(46, 88));
        chooseNamesList.setMinimumSize(new java.awt.Dimension(94, 98));
        chooseDeviceScrollPane.setViewportView(chooseNamesList);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.weighty = 1.0;
        gridBagConstraints.insets = new java.awt.Insets(0, 12, 7, 0);
        selectNameAddPanel.add(chooseDeviceScrollPane, gridBagConstraints);

        clickToAddDeletePanel.setLayout(new java.awt.GridBagLayout());

        clickToAddButton.setText(">>");
        clickToAddDeletePanel.add(clickToAddButton,
                new java.awt.GridBagConstraints());

        clickToRemoveButton.setText("<<");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 2;
        clickToAddDeletePanel.add(clickToRemoveButton, gridBagConstraints);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.insets = new java.awt.Insets(0, 5, 0, 5);
        selectNameAddPanel.add(clickToAddDeletePanel, gridBagConstraints);

        selectedNamesList.setModel(new javax.swing.AbstractListModel() {
            String[] strings = { "XXXX", "YYYY" };

            public int getSize() {
                return strings.length;
            }

            public Object getElementAt(int i) {
                return strings[i];
            }
        });
        selectedNamesList.setMinimumSize(new java.awt.Dimension(94, 98));
        selectedNameScrollPane.setViewportView(selectedNamesList);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.weighty = 1.0;
        gridBagConstraints.insets = new java.awt.Insets(0, 0, 6, 0);
        selectNameAddPanel.add(selectedNameScrollPane, gridBagConstraints);

        selectNameLabel.setText("Select Name");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        gridBagConstraints.insets = new java.awt.Insets(0, 0, 8, 0);
        selectNameAddPanel.add(selectNameLabel, gridBagConstraints);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.weighty = 1.0;
        selectNamesInnerPanel.add(selectNameAddPanel, gridBagConstraints);

        selectTeamLabel.setText("Select Team");
        selectTeamPanel.add(selectTeamLabel);

        selectTeamComboBox.setModel(new javax.swing.DefaultComboBoxModel(
                new String[] { "TEAM X", "TEAM Y", "TEAM Z" }));
        selectTeamComboBox
                .addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        selectTeamComboBoxActionPerformed(evt);
                    }
                });
        selectTeamPanel.add(selectTeamComboBox);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        selectNamesInnerPanel.add(selectTeamPanel, gridBagConstraints);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        selectDevicesPanel.add(selectNamesInnerPanel, gridBagConstraints);

        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(
                getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(layout.createParallelGroup(
                org.jdesktop.layout.GroupLayout.LEADING).add(0, 400,
                Short.MAX_VALUE).add(
                layout.createParallelGroup(
                        org.jdesktop.layout.GroupLayout.LEADING).add(
                        layout.createSequentialGroup().add(0, 107,
                                Short.MAX_VALUE).add(selectDevicesPanel,
                                org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                185,
                                org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .add(0, 108, Short.MAX_VALUE))));
        layout.setVerticalGroup(layout.createParallelGroup(
                org.jdesktop.layout.GroupLayout.LEADING).add(0, 300,
                Short.MAX_VALUE).add(
                layout.createParallelGroup(
                        org.jdesktop.layout.GroupLayout.LEADING).add(
                        layout.createSequentialGroup().add(0, 39,
                                Short.MAX_VALUE).add(selectDevicesPanel,
                                org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                221,
                                org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .add(0, 40, Short.MAX_VALUE))));

        pack();
    }

    private void selectTeamComboBoxActionPerformed(
            java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
    }

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new TestListControl().setVisible(true);
            }
        });
    }

    private javax.swing.JScrollPane chooseDeviceScrollPane;
    private javax.swing.JList chooseNamesList;
    private javax.swing.JButton clickToAddButton;
    private javax.swing.JPanel clickToAddDeletePanel;
    private javax.swing.JButton clickToRemoveButton;
    private javax.swing.JPanel selectDevicesPanel;
    private javax.swing.JPanel selectNameAddPanel;
    private javax.swing.JLabel selectNameLabel;
    private javax.swing.JPanel selectNamesInnerPanel;
    private javax.swing.JComboBox selectTeamComboBox;
    private javax.swing.JLabel selectTeamLabel;
    private javax.swing.JPanel selectTeamPanel;
    private javax.swing.JScrollPane selectedNameScrollPane;
    private javax.swing.JList selectedNamesList;

}
È stato utile?

Soluzione 2

ragazzi ho risolto questo problema io stesso .. thnks per ur coordinamento ..actually ho fatto l'errore di dare weightx e pesante al pannello genitore che esercita la sia la JList e per il riquadro JEditor ... brevemente noi è necessario impostare i parametri di peso per tutti i contenitori padre che contiene alcun componente che si desidera ridimensionare ..

Altri suggerimenti

L'elenco non sarà possibile ottenere molto più grande se si fa questo:

chooseNamesList.setMaximumSize(new java.awt.Dimension(46, 88));

Se si imposta un valore di cella prototipo, il JList non ridimensiona quando i dati vengono modificati.

Vedere la pagina Javadoc JList per il metodo setPrototypeCellValue (Object).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top