Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    213

    JScrollPane che non scrolla :D

    Salve ragazzi, vorrei chiedere un piccolo aiutino. Sto cercando di metter su una piccola interfaccia grafica. Questa dovrebbe essere formata da un HEAD in testa con una label, un corpo centrale con una scrollbar verticale quando serve con del contenuto e un FOOTER con un Button. Diciamo che la parte fisica son riuscito a metterla in sesto, ma quando la riempio con dei contenuti che vadano oltre la misura della scroll questa non va...

    Vi posto il codice, dove potrebbe essere l'errore? Mi scuso per il codice un pò confusionario ma è per testare se facesse quello che volevo...

    codice:
        /**     * Metodo per creare il nuovo pannello e aggiungerlo all'interfaccia.
         */
        private void setListMenuPanel() {
            listMenuPanel = new JPanel();
            MainMenu.frame.add(listMenuPanel, BorderLayout.CENTER);
            
            headListMenuPanel = new JPanel();
            GridBagLayout layoutHead = new GridBagLayout();
            headListMenuPanel.setLayout(layoutHead);
            listMenuPanel.add(headListMenuPanel, BorderLayout.NORTH);
            JLabel head = new JLabel("HEAD");
            headListMenuPanel.add(head);
            
            midListMenuPanel = new JPanel();
            JScrollPane scroll = new JScrollPane(midListMenuPanel, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
            listMenuPanel.add(scroll, BorderLayout.CENTER);
            GridBagLayout layoutMid = new GridBagLayout();
            layoutMid.columnWidths = new int[] {100, 100, 100, 100};
            layoutMid.rowHeights = new int[] {50,50,50,50,50,50};
            midListMenuPanel.setLayout(layoutMid);
            GridBagConstraints gbc = new GridBagConstraints();
            JLabel prova = new JLabel("PROVA");
            JLabel provauno = new JLabel("Prova2");
            JLabel provatre = new JLabel("Prova3");
            JLabel provaquattro = new JLabel("Prova4");
            JLabel provacinque = new JLabel("Prova5");
            JLabel provasei = new JLabel("Prova6");
            JLabel provasette = new JLabel("Prova7");
            midListMenuPanel.add(prova, gbc);
            gbc.gridy = 1;
            midListMenuPanel.add(provauno, gbc);
            gbc.gridy = 2;
            midListMenuPanel.add(provatre, gbc);
            gbc.gridy = 3;
            midListMenuPanel.add(provaquattro, gbc);
            gbc.gridy = 4;
            midListMenuPanel.add(provacinque, gbc);
            gbc.gridy = 5;
            midListMenuPanel.add(provasei, gbc);
            gbc.gridy = 6;
            midListMenuPanel.add(provasette, gbc);
            
            botListMenuPanel = new JPanel();
            GridBagLayout layoutBot = new GridBagLayout();
            botListMenuPanel.setLayout(layoutBot);
            listMenuPanel.add(botListMenuPanel, BorderLayout.SOUTH);
            JButton back = new JButton("TORNA INDIETRO");
            botListMenuPanel.add(back);
            }

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    JPanel non è un componente scrollabile (non implementa Scrollable), quindi non è adatto (di suo) ad essere inserito all'interno di un JScrollPane. Se vuoi inserire un JPanel all'interno di JScrollPane devi gestire a mano il ridimensionamento dello stesso e la notifica al JScrollPane.

    Puoi usare, comunque, una mia vecchia classe che rappresenta, appunto, un pannello scrollabile: http://forum.html.it/forum/showthrea...1#post13812813


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    213
    Ti ringrazio, sei stato molto gentile per la risposta

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.