我正在使用Swing应用程序,我需要将动态滚动窗格添加到选项卡窗格中,我需要将Jpanel添加到每个滚动窗格中。所以我怎么能添加它我尝试了一个代码,但它没有添加滚动窗格。我可以帮忙。
我的代码是。
public class ChatDialog_Tabbedpane extends javax.swing.JFrame {
static JLabel jLabelchat;
int i= 0;
public ChatDialog_Tabbedpane() {
initComponents();
setVisible(true);
}
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
try {
System.out.println(jTextArea1.getText());
JScrollPane jsp = new JScrollPane();
JPanel jPanel = new JPanel();
jsp.add(jPanel);
jPanel.setLayout(new BoxLayout(jPanel, 1));
i++;
jPanel.add(new JLabel(i+" :label"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jPanel.add(new JLabel(i+" :label 2"));
jTabbedPane1.addTab("tab", jPanel);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ChatDialog_Tabbedpane().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTabbedPane jTabbedPane1;
private javax.swing.JTextArea jTextArea1;
// End of variables declaration
}
它看起来像这样
但没有显示滚动我只需要添加所有时间单击“发送”按钮时的该窗格。 以及如何使用唯一标识来获取它?
答案 0 :(得分:1)
不要将add
与JScrollPane
一起使用,而是使用setViewportView
,例如......
jsp.setViewportView(jPanel);
有关详细信息,请参阅How to Use Scroll Panes
当您执行类似......
之类的操作时,组件可能只驻留在单个控制器中jTabbedPane1.addTab("tab", jPanel);
您要从其上一个父级(jPanel
)中删除JScrollPane
,而是将滚动窗格添加到选项卡式窗格...
jTabbedPane1.addTab("tab", jsp);