Не получаеться обуздать JScrollPane - Java
Формулировка задачи:
Создаю Frame, в нём JPanel (FlowLayout) а там 50 buttons, всё красиво, но как только добавляю JScrollPane а на неё JPanel с кнопками, то все выстраивается в одну линию, перепробовал JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED по всякому, не получается. Help me!!
import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.JScrollPane; import javax.swing.JButton; import java.awt.Dimension; import java.awt.FlowLayout; import javax.swing.ScrollPaneConstants; import javax.swing.JDesktopPane; import javax.swing.border.BevelBorder; import javax.swing.JMenuBar; import java.awt.CardLayout; public class Frame2 extends JFrame { private JPanel contentPane; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { Frame2 frame = new Frame2(); frame.setMinimumSize(new Dimension(350, 700)); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public Frame2() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 450, 300); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(new BorderLayout(0, 0)); JPanel panel = new JPanel(); panel.setBorder(new BevelBorder(BevelBorder.RAISED, null, null, null, null)); FlowLayout flowLayout = (FlowLayout) panel.getLayout(); flowLayout.setAlignOnBaseline(true); //contentPane.add(panel, BorderLayout.CENTER); JButton button = new JButton("New button"); button.setPreferredSize(new Dimension(230, 100)); panel.add(button); JButton button_1 = new JButton("New button"); button_1.setPreferredSize(new Dimension(230, 100)); panel.add(button_1); JButton button_2 = new JButton("New button"); button_2.setPreferredSize(new Dimension(230, 100)); panel.add(button_2); JButton button_3 = new JButton("New button"); button_3.setPreferredSize(new Dimension(230, 100)); panel.add(button_3); JButton button_4 = new JButton("New button"); button_4.setPreferredSize(new Dimension(230, 100)); panel.add(button_4); JButton button_5 = new JButton("New button"); button_5.setPreferredSize(new Dimension(230, 100)); panel.add(button_5); JButton button_6 = new JButton("New button"); button_6.setPreferredSize(new Dimension(230, 100)); panel.add(button_6); JButton button_7 = new JButton("New button"); button_7.setPreferredSize(new Dimension(230, 100)); panel.add(button_7); JButton button_8 = new JButton("New button"); button_8.setPreferredSize(new Dimension(230, 100)); panel.add(button_8); JButton button_9 = new JButton("New button"); button_9.setPreferredSize(new Dimension(230, 100)); panel.add(button_9); JButton button_10 = new JButton("New button"); button_10.setPreferredSize(new Dimension(230, 100)); panel.add(button_10); JButton button_11 = new JButton("New button"); button_11.setPreferredSize(new Dimension(230, 100)); panel.add(button_11); JButton button_12 = new JButton("New button"); button_12.setPreferredSize(new Dimension(230, 100)); panel.add(button_12); JButton button_13 = new JButton("New button"); button_13.setPreferredSize(new Dimension(230, 100)); panel.add(button_13); JButton button_14 = new JButton("New button"); button_14.setPreferredSize(new Dimension(230, 100)); panel.add(button_14); JButton button_15 = new JButton("New button"); button_15.setPreferredSize(new Dimension(230, 100)); panel.add(button_15); JButton button_16 = new JButton("New button"); button_16.setPreferredSize(new Dimension(230, 100)); panel.add(button_16); JButton button_17 = new JButton("New button"); button_17.setPreferredSize(new Dimension(230, 100)); panel.add(button_17); JButton button_18 = new JButton("New button"); button_18.setPreferredSize(new Dimension(230, 100)); panel.add(button_18); JButton button_19 = new JButton("New button"); button_19.setPreferredSize(new Dimension(230, 100)); panel.add(button_19); JButton button_20 = new JButton("New button"); button_20.setPreferredSize(new Dimension(230, 100)); panel.add(button_20); JButton button_21 = new JButton("New button"); button_21.setPreferredSize(new Dimension(230, 100)); panel.add(button_21); JButton button_22 = new JButton("New button"); button_22.setPreferredSize(new Dimension(230, 100)); panel.add(button_22); JButton button_23 = new JButton("New button"); button_23.setPreferredSize(new Dimension(230, 100)); panel.add(button_23); JButton button_24 = new JButton("New button"); button_24.setPreferredSize(new Dimension(230, 100)); panel.add(button_24); JButton button_25 = new JButton("New button"); button_25.setPreferredSize(new Dimension(230, 100)); panel.add(button_25); JButton button_26 = new JButton("New button"); button_26.setPreferredSize(new Dimension(230, 100)); panel.add(button_26); JButton button_27 = new JButton("New button"); button_27.setPreferredSize(new Dimension(230, 100)); panel.add(button_27); JButton button_28 = new JButton("New button"); button_28.setPreferredSize(new Dimension(230, 100)); panel.add(button_28); JButton button_29 = new JButton("New button"); button_29.setPreferredSize(new Dimension(230, 100)); panel.add(button_29); JButton button_30 = new JButton("New button"); button_30.setPreferredSize(new Dimension(230, 100)); panel.add(button_30); JButton button_31 = new JButton("New button"); button_31.setPreferredSize(new Dimension(230, 100)); panel.add(button_31); JButton button_32 = new JButton("New button"); button_32.setPreferredSize(new Dimension(230, 100)); panel.add(button_32); JButton button_33 = new JButton("New button"); button_33.setPreferredSize(new Dimension(230, 100)); panel.add(button_33); JButton button_34 = new JButton("New button"); button_34.setPreferredSize(new Dimension(230, 100)); panel.add(button_34); JButton button_35 = new JButton("New button"); button_35.setPreferredSize(new Dimension(230, 100)); panel.add(button_35); JButton button_36 = new JButton("New button"); button_36.setPreferredSize(new Dimension(230, 100)); panel.add(button_36); JButton button_37 = new JButton("New button"); button_37.setPreferredSize(new Dimension(230, 100)); panel.add(button_37); JButton button_38 = new JButton("New button"); button_38.setPreferredSize(new Dimension(230, 100)); panel.add(button_38); JButton button_39 = new JButton("New button"); button_39.setPreferredSize(new Dimension(230, 100)); panel.add(button_39); JButton button_40 = new JButton("New button"); button_40.setPreferredSize(new Dimension(230, 100)); panel.add(button_40); JPanel panel_1 = new JPanel(); contentPane.add(panel_1, BorderLayout.NORTH); JMenuBar menuBar = new JMenuBar(); panel_1.add(menuBar); //JPanel panel_2 = new JPanel(); //panel_2.setLayout(new CardLayout(0, 0)); JScrollPane scrollPane = new JScrollPane(panel); scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS); contentPane.add(scrollPane, BorderLayout.CENTER); //panel_2.add(scrollPane, "name_6038829586666"); } }
Решение задачи: «Не получаеться обуздать JScrollPane»
textual
Листинг программы
panel.setPreferredSize(new Dimension(320, 1000));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д