Pregunta

Estoy teniendo el cambio de tamaño problema JList ... A continuación se muestra el código ... mi requisito es añadir un JList con un poco de tamaño fijo en un panel y cuando puedo maximizar / minimizar el marco de la JList debería aumentar / disminuir en consecuencia .please me ayude a ..how para lograr esto?

A continuación se presenta el diseño:

Hola Carl, Funciona en casos sencillos, pero no en el caso anterior. Por tanto, estoy explaning el código anterior ahora ..

i tiene un marco llamado "TestListControl" con la disposición GB.         Añadir selectDevicesPanel con la disposición GB. En selectDevicesPanel:          Añadir selectNamesInnerPanel con la disposición GB En selectNamesInnerPanel:          Añadir selectNameAddPanel con la disposición GB          Añadir selectTeamPanel con la disposición de Flujo En selectNameAddPanel:          chooseDeviceScrollPane          clickToAddDeletePanel          selectedNameScrollPane En 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;

}
¿Fue útil?

Solución 2

i chicos resolvieron este problema por mí mismo .. Thnks para ur coordinación ..actually que hice el error de dar weightx y de peso al panel de padres que está llevando a cabo el tanto al JList y para el panel JEditor ... brevemente nos deberá configurar los parámetros de ponderación para todos los contenedores primarios que contiene ningún componente que desea cambiar el tamaño ..

Otros consejos

Su lista no conseguirá mucho más grande si usted hace esto:

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

Si se establece un valor de celda prototipo, el JList no va a cambiar el tamaño cuando se cambian los datos.

Consulte la página Javadoc JList para el método setPrototypeCellValue (objeto).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top