JSLrollPane中的JLabel

时间:2016-01-05 20:43:19

标签: java swing

我有一个滚动窗格,我想在其中添加多个jlabel。 这是代码..

JPanel panelEast = new JPanel();
    panelEast.setBorder(new TitledBorder(null, "Notifiche", TitledBorder.LEADING, TitledBorder.TOP, null, null));
    panelEast.setPreferredSize(new Dimension(250,120));
    panelEast.setLayout(null);

    JLabel lblNewLabel_3 = new JLabel("label1");
    lblNewLabel_3.setIcon(new ImageIcon(Home.class.getResource("/it/polimi/icon/contact.png")));
    lblNewLabel_3.setBounds(10, 81, 240, 52);
    panelEast.add(lblNewLabel_3);

    JLabel label_3 = new JLabel("label2");
    label_3.setIcon(new ImageIcon(Home.class.getResource("/it/polimi/icon/verified.png")));
    label_3.setBounds(new Rectangle(4, 0, 0, 0));
    label_3.setAlignmentY(Component.TOP_ALIGNMENT);
    label_3.setBounds(10, 30, 240, 52);
    panelEast.add(label_3);

    JLabel label_4 = new JLabel("label3");
    label_4.setIcon(new ImageIcon(Home.class.getResource("/it/polimi/icon/verified.png")));
    label_4.setBounds(new Rectangle(4, 0, 0, 0));
    label_4.setAlignmentY(Component.TOP_ALIGNMENT);
    label_4.setBounds(10, 131, 240, 52);
    panelEast.add(label_4);

    JScrollPane scrollPane = new JScrollPane(panelEast,JScrollPane.VERTICAL_SCROLLBAR_NEVER,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    pan2.add(scrollPane,BorderLayout.CENTER);

并且不起作用,有什么建议吗?

1 个答案:

答案 0 :(得分:3)

避免使用null布局,像素完美布局是现代ui设计中的一种幻觉。影响组件个体大小的因素太多,您无法控制。 Swing旨在与布局管理器一起工作,放弃这些将导致问题和问题的终结,您将花费越来越多的时间来纠正

JScrollPane依赖布局管理器API来计算它显示的容器的首选大小,并确定该视图何时大于它本身并且它应该显示滚动条