我在JTextPane
中有一个JPanel
,这个JTextPane
在运行时正在填充文本。当JPanel
获得多行文字时,我希望持有JTextPane
的{{1}}动态更改高度。
这是迄今为止我所得到的:
JTextPane
因此,当 pnlChatMsgs = new JPanel(new BorderLayout());
pnlChatMsgs.setBackground(new java.awt.Color(244, 244, 244));
pnlMainTable.add(pnlChatMsgs, c);
pnlMidLiveType = new JPanel(new BorderLayout());
pnlMidLiveType.setPreferredSize(new Dimension(100, 30));
JTextPane.setFont(new java.awt.Font("Lucida Grande", 0, 13));
JTextPane.setText("<html></html>");
JTextPane.setContentType("text/html");
JTextPane.setForeground(new java.awt.Color(153, 153, 153));
JTextPane.setBackground(new java.awt.Color(250, 250, 250));
pnlMidLiveType.add(JTextPane, BorderLayout.NORTH);
pnlChatMsgs.add(pnlMidLiveType, BorderLayout.SOUTH);
pnlMidLiveType.setVisible(false);
的大小增加时,我想更改JTextPane
JPanel的高度。
我怎么能做到这一点?
答案 0 :(得分:0)
考虑以下示例。它演示了可扩展的JFrame和JPanel:
final JFrame frame = new JFrame();
JPanel panel = new JPanel(new BorderLayout());
JTextPane pane = new JTextPane();
pane.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
frame.pack();
}
});
panel.add(pane, BorderLayout.CENTER);
frame.setContentPane(panel);
frame.pack();
frame.setVisible(true);
JFrame#pack()触发resize事件并完成操作。