日期:2014-05-20  浏览次数:20993 次

我加的滚动条为什么不显示呢?
各位好,我现在想做一个图片比对的小功能。就是一个面板上会出现左右两个相同的panel。每个panel上面会展示一张图片。但是现在,我想在每个panel上面都增加一个滚动条。有点类似SVN客户端的文件比对功能。但是我现在增加了滚动条后。压根显示不出来。不知道是什么原因。因为一直做web开发,对swing这个有点不是很熟悉了。而且我这儿并没有可视化的工具。所以这个布局有些不是很清楚。特来求助各位。祝各位今年钞票赚的多多的。

以下是代码段
public class PreviewDialog extends JDialog {

private static final long serialVersionUID = "PREVIEWDIALOG".hashCode();
private static PreviewDialog instancePreview = null;

public PreviewDialog() {
super.setBackground(Color.WHITE);
int width = Toolkit.getDefaultToolkit().getScreenSize().width - 300;
int height = Toolkit.getDefaultToolkit().getScreenSize().height - 300;
int wPoint = (Toolkit.getDefaultToolkit().getScreenSize().width - width) / 2;
int hPoint = (Toolkit.getDefaultToolkit().getScreenSize().height - height) / 2;
setSize(width, height);
setBounds(wPoint, hPoint, width, height);
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
setTitle("压缩文件比对");
}


/**
 * 主面板
 */
public void mainPanel() {
Container contentPane = this.getContentPane();
JPanel title = new JPanel();
JLabel lblTitle = new JLabel("图片压缩前后效果比对", JLabel.CENTER);
title.setBackground(Color.WHITE);
title.add(lblTitle);
contentPane.add(title, BorderLayout.NORTH);
// 主面板
JPanel main = new JPanel();
main.setBackground(Color.WHITE);
main.setLayout(new BoxLayout(main, BoxLayout.X_AXIS));
main.setVisible(true);
contentPane.add(main);
// 左边面板
JPanel pnlLeft = new JPanel();
JScrollPane scrollLeftPane = new JScrollPane();
pnlLeft.add(scrollLeftPane, BorderLayout.CENTER);
pnlLeft.setSize(300, 200);
scrollLeftPane.setVisible(true);
main.add(pnlLeft);
// 左边原始图片
JLabel lblSource = new JLabel();
lblSource.setIcon(getIcon("F:\\MyDocument\\RainBoy\\Desktop\\122.jpg"));
pnlLeft.add(lblSource);


// 右侧面板
JPanel pnlRight = new JPanel();
JScrollPane scrollRightPane = new JScrollPane();
pnlRight.add(scrollRightPane, BorderLayout.CENTER);
main.add(pnlRight);
// 右边处理图片
JLabel lblTaget = new JLabel();
lblTaget.setIcon(getIcon("F:\\MyDocument\\RainBoy\\Desktop\\122.jpg"));
pnlRight.add(lblTaget);


}

private Icon getIcon(String url) {
ImageIcon icon = new ImageIcon(url);
return icon;
}

------解决方案--------------------
JPanel 对象要setPreferredSize