我无法让 Swing 布局做我想做的事。我希望包含两个 JEditorPanes 的中心面板在它包含相等(固定)高度的“n”个窗格时滚动。
我一直在玩 Netbean 的 UI 设计器,试图让它工作
jPanel3 是中心面板
jEditorPane4 和 5 是一些示例编辑器窗格(这些将包含评论)
public class GBugForm1 extends javax.swing.JFrame {
public static void main(String[] args)
{
GBugForm1 form;
form = new GBugForm1();
form.setDefaultCloseOperation(javax.swing.JDialog.DISPOSE_ON_CLOSE);
form.setSize(500,500);
form.setVisible(true);
}
/**
* Creates new form GBugForm
*/
public GBugForm1() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jPanel3 = new javax.swing.JPanel();
jScrollPane6 = new javax.swing.JScrollPane();
jEditorPane4 = new javax.swing.JEditorPane();
jScrollPane4 = new javax.swing.JScrollPane();
jEditorPane5 = new javax.swing.JEditorPane();
jPanel4 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
setPreferredSize(new java.awt.Dimension(500, 460));
setLayout(new java.awt.BorderLayout());
jPanel1.setLayout(new java.awt.BorderLayout());
jPanel3.setLayout(new javax.swing.BoxLayout(jPanel3, javax.swing.BoxLayout.PAGE_AXIS));
jEditorPane4.setPreferredSize(new java.awt.Dimension(106, 200));
jScrollPane6.setViewportView(jEditorPane4);
jPanel3.add(jScrollPane6);
jScrollPane4.setViewportView(jEditorPane5);
jPanel3.add(jScrollPane4);
jPanel1.add(jPanel3, java.awt.BorderLayout.CENTER);
jPanel4.setPreferredSize(new java.awt.Dimension(492, 105));
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 500, Short.MAX_VALUE)
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 105, Short.MAX_VALUE)
);
jPanel1.add(jPanel4, java.awt.BorderLayout.PAGE_START);
add(jPanel1, java.awt.BorderLayout.CENTER);
jPanel2.setPreferredSize(new java.awt.Dimension(400, 40));
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 500, Short.MAX_VALUE)
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 40, Short.MAX_VALUE)
);
add(jPanel2, java.awt.BorderLayout.SOUTH);
}// </editor-fold>
// Variables declaration - do not modify
private javax.swing.JEditorPane jEditorPane4;
private javax.swing.JEditorPane jEditorPane5;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JScrollPane jScrollPane4;
private javax.swing.JScrollPane jScrollPane6;
// End of variables declaration
}