[英]JScrollPane doesn't show up
我制作了一個程序,我想將 JScrollPane 添加到 JTextArea (但它沒有顯示)。 這是代碼(或者至少所有必須處理 JTextArea / JScrollPane 的代碼,整個代碼很多):
static JPanel contentPane; // This one got initialised in the constructor
static JTextArea tarMessages;
public void addTextArea{
tarMessages = new JTextArea();
tarMessages.setForeground(Color.WHITE);
tarMessages.setBackground(new Color(0, 0, 0, 0));
tarMessages.setEditable(false);
tarMessages.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
tarMessages.setBounds(600, 124, 200, 192);
tarMessages.setOpaque(false);
/*DefaultCaret dlcMessages = (DefaultCaret)tarMessages.getCaret();
dlcMessages.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);*/
tarMessages.addMouseListener(new MouseAdapter(){
@Override
public void mouseClicked(MouseEvent e) {
requestFocus();
}
});
JScrollPane scpMessages = new JScrollPane(tarMessages);
scpMessages.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
scpMessages.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
scpMessages.setPreferredSize(new Dimension(10, 192));
scpMessages.setEnabled(true);
contentPane.add(scpMessages);
contentPane.add(tarMessages);
}
感謝您的幫助。 度過愉快的假期。
JScrollPane scpMessages = new JScrollPane(tarMessages);
...
contentPane.add(scpMessages);
contentPane.add(tarMessages);
Swing 組件只能有一個父組件。
首先將文本區域添加到滾動窗格,這是正確的。
但是,當您將其添加到內容窗格時,您將其從滾動窗格中刪除。
擺脫:
///contentPane.add(tarMessages);
此外,當您創建文本區域時,使用如下代碼:
tarMessages = new JTextArea(5, 20);
這將指定文本區域的行/列,以便它可以適當地調整自身大小。
不要使用 setBounds(...)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.