在这段代码中,我有一组JPanel
个容器。我将JFrame
上的这些面板添加到另一个下面,但我的滚动条无法正常工作。
错误是什么?
这是代码:
import javax.swing.*;
public class NewJFrame extends javax.swing.JFrame {
private javax.swing.JPanel arr[] = new JPanel[100];
public NewJFrame() {
initComponents();
for (int i = 0; i < 5; i++) {
arr[i] = new JPanel();
arr[i].setLayout(null);
newPanel(arr[i]);
arr[i].setBounds(0, i * 375, 610, 370);
getContentPane().add(arr[i]);
}
JScrollPane scroll = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
getContentPane().add(scroll);
}
private void newPanel(JPanel panel) {
javax.swing.JLabel jLabel1;
javax.swing.JLabel jLabel2;
javax.swing.JLabel jLabel3;
javax.swing.JLabel jLabel4;
javax.swing.JLabel jLabel5;
javax.swing.JLabel lImage;
javax.swing.JPanel pInfo;
javax.swing.JPanel pImage;
pImage = new javax.swing.JPanel();
lImage = new javax.swing.JLabel();
pInfo = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
pImage.setBackground(new java.awt.Color(255, 255, 255));
pImage.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
pImage.setLayout(null);
lImage.setBackground(new java.awt.Color(255, 255, 255));
lImage.setText("jLabel1");
pImage.add(lImage);
lImage.setBounds(0, 0, 280, 370);
panel.add(pImage);
pImage.setBounds(0, 0, 280, 370);
pInfo.setBackground(new java.awt.Color(255, 255, 255));
pInfo.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
pInfo.setLayout(null);
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 13)); // NOI18N
jLabel1.setText("Info1:");
pInfo.add(jLabel1);
jLabel1.setBounds(10, 10, 90, 30);
jLabel2.setFont(new java.awt.Font("Tahoma", 1, 13)); // NOI18N
jLabel2.setText("Info2:");
pInfo.add(jLabel2);
jLabel2.setBounds(10, 50, 70, 30);
jLabel3.setFont(new java.awt.Font("Tahoma", 1, 13)); // NOI18N
jLabel3.setText("Info3:");
pInfo.add(jLabel3);
jLabel3.setBounds(10, 100, 34, 16);
jLabel4.setText("*************************************");
pInfo.add(jLabel4);
jLabel4.setBounds(10, 140, 300, 20);
jLabel5.setFont(new java.awt.Font("Tahoma", 1, 13)); // NOI18N
jLabel5.setText("Info4:");
pInfo.add(jLabel5);
jLabel5.setBounds(10, 160, 100, 20);
panel.add(pInfo);
pInfo.setBounds(280, 0, 330, 370);
}
@SuppressWarnings("unchecked")
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setMaximumSize(new java.awt.Dimension(640, 700));
setMinimumSize(new java.awt.Dimension(640, 700));
setPreferredSize(new java.awt.Dimension(640, 700));
setResizable(true);
getContentPane().setLayout(null);
pack();
}// </editor-fold>
public static void main(String args[]) throws Exception {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NewJFrame().setVisible(true);
}
});
}
}