在java中滚动时,视图会失真

时间:2015-03-18 23:21:08

标签: java swing jpanel jscrollpane

我已将JPanel添加到JScrollPane。

JPanel中有许多元素,如标签,面板按钮等。当我滚动时,视图变形,我不知道为什么我加倍检查代码。是什么导致这个?应该有一些重漆吗?

enter image description here

    pgLaPanel pnlMain = new pgLaPanel();
              pnlMain.setLayout(new BoxLayout(pnlMain, BoxLayout.Y_AXIS));
              pnlMain.setPreferredSize(new Dimension(1250,765));
              pnlMain.add(pnlTop);
              //pnlTop.setVisible(true);
              pnlMain.add(pnlLow);
              pnlLow.setVisible(true);

    JPanel pnlLadder = new JPanel((LayoutManager) new FlowLayout(FlowLayout.LEFT));
           pnlLadder.setLayout(new BoxLayout(pnlLadder, BoxLayout.Y_AXIS));
           pnlLadder.setBackground(new Color(0,0,0,0));
           pnlLadder.add(pnlTitle);
           pnlLadder.add(pnl1n2);
           pnlLadder.add(pnl3n4);
           pnlLadder.add(pnl5n6);
           pnlLadder.add(pnl7n8);
           pnlLadder.add(pnl9n10);
           pnlLadder.add(pnl11n12);
           pnlLadder.add(pnl13n14);
           pnlLadder.add(pnl15n16);
           pnlLadder.add(pnl17n18);
           pnlLadder.add(pnl19n20);
           pnlLadder.add(pnl21n22);
           pnlLadder.add(pnl23n24);
           pnlLadder.add(pnl25n26);
           pnlLadder.add(pnl27n28);
           pnlLadder.add(pnl29n30);
           pnlLadder.add(pnlButtons);


    final JScrollPane scrlLadder = new JScrollPane();
                      scrlLadder.setViewportView(pnlLadder);
                      scrlLadder.setFont(pgMnCore.useFont); 
                      scrlLadder.setBackground(new Color(0,0,0,0));

    scrlLadder.setVisible(false);

    pnlMain.add(scrlLadder);  

1 个答案:

答案 0 :(得分:3)

pnlLadder.setBackground(new Color(0,0,0,0));
....
scrlLadder.setBackground(new Color(0,0,0,0));

我猜这个问题是透明的背景。这很容易验证,只需删除setBackground(...)语句。

查看Backgrounds With Transparency可能出现的问题以及几个解决方案。