次の問題で頭がおかしくなったので、助けを求めてここに来ました。
実験した後、私はこのコードのブロックに行き着きました:
JTextArea chatPanel = null;
JScrollPane scrollPanel = null;
if(chatPanel == null)
{
chatPanel = new JTextArea("derp");
chatPanel.setEditable(false);
chatPanel.setForeground(new Color(10,191,26));
chatPanel.setOpaque(false);
scrollPanel = new JScrollPane(chatPanel);
scrollPanel.setOpaque(false);
scrollPanel.getViewport().setOpaque(false);
scrollPanel.setBorder(BorderFactory.createEmptyBorder());
}
//## marked area ##
scrollPanel.setBounds(9,596,435,138);
pane.add(scrollPanel);
結果?何も表示されません。「derp」が含まれているテキスト領域はありません。空のスクロールパネルだけです。ここで、##マークされた領域##に移動し、次のように置き換えます。
chatPanel.append("Hello.");
chatPanelはscrollPanelに正常に表示され、そのテキストは「derpHello」です。何が起こっているのかによるアイデアはありますか?
記録のために、ペインはnullレイアウトの単純なコンテナであり、それ以外の場合はすべてが正常に表示されます。記録のための宣言:
Container pane = getContentPane()
pane.setLayout(null);