Scusate se rompo dinuovo le scatole ma non riesco proprio a capire come funziona questo setBorder e perché lo JScrollPane non aggiunge le barre di scorrimento come piacciono a me. L'interlinea che c'è tra le 3 stringhe che vedete sotto è troppo grande e se setto a 0 i bordi con EmptyBorder non riesco a ridurla.
Per quanto riguarda JScrollPane vorrei applicare una barra di scorrimento solo verticale a un JPanel che contiene altri JPanel tutti quanti settati con FlowLayout. Il mio problema è che non resco a settare una barra di scorrimento verticale, java me la mette sempre e solo orizzontale.
JPanel jp = new JPanel();
JScrollPane jsp = new JSrollPane(jp);
Ho provato le 1200 soluzioni prese da google ma non c'è stato verso...
Ecco qui uno stralcio del codice...
codice:import java.awt.BorderLayout; import java.awt.ComponentOrientation; import java.awt.FlowLayout; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import javax.swing.*; import javax.swing.border.EmptyBorder; public class InterfacciaGraficaVotazioni extends JFrame { ... private EmptyBorder bordi = new EmptyBorder(0, 0, 0, 0); ... private void actionExit() { System.exit(0); } public InterfacciaGrafica() { ... menu_file.add(comando_exit); barra_menu.add(menu_file); setJMenuBar(barra_menu); // Creazione dell'intestazione della finestra JPanel pannello1 = new JPanel(); pannello1.setBorder(bordi); JL_titolo = new JLabel(titolo); JL_sottotitolo = new JLabel(sottotitolo); JL_descrizione_1 = new JLabel(descrizione_1); pannello1.setLayout(new GridLayout(6, 1)); // Riga 1, 2, 3 JL_titolo.setHorizontalAlignment(SwingConstants.CENTER); JL_titolo.setBorder(bordi); pannello1.add(JL_titolo); JL_sottotitolo.setHorizontalAlignment(SwingConstants.CENTER); JL_sottotitolo.setFont(carattere); pannello1.add(JL_sottotitolo); JL_descrizione_1.setHorizontalAlignment(SwingConstants.CENTER); JL_descrizione_1.setFont(carattere); pannello1.add(JL_descrizione_1); // Riga 4 JPanel pannello2 = new JPanel(); pannello2.setLayout(new FlowLayout()); JL_nota_1 = new JLabel(nota_1); pannello2.add(JL_nota_1); JTF_nomefile = new JTextField(nomefile, lunghezza_nomefile); pannello2.add(JTF_nomefile); JB_inizializza = new JButton(inizializza); pannello2.add(JB_inizializza); pannello1.add(pannello2); // Riga 5 JPanel pannello3 = new JPanel(); ... } // Avvia il software public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { InterfacciaGrafica interfaccia = new InterfacciaGrafica(); interfaccia.setVisible(true); } }); } }

Rispondi quotando