【问题标题】:JFrame scrollable HTML contentJFrame 可滚动的 HTML 内容
【发布时间】:2015-02-15 00:42:32
【问题描述】:

我有一个显示 HTML 代码的固定高度 JFrame,我希望它在 HTML 内容高度超过 JFrame 高度时显示滚动条。我该怎么做?到目前为止我有这个代码:

public class Pupup extends JPanel {

  public Pupup() {
    setLayout(new BoxLayout(this, BoxLayout.LINE_AXIS));

    String initialText = "<html>" +
      "<body>" +
      "</body>" +
      "</html>";

    theLabel = new JLabel(initialText) {
      public Dimension getPreferredSize() {
        return new Dimension(640, 480);
      }
      public Dimension getMinimumSize() {
        return new Dimension(640, 480);
      }
      public Dimension getMaximumSize() {
        return new Dimension(640, 480);
      }
    };

    theLabel.setVerticalAlignment(SwingConstants.TOP);
    theLabel.setHorizontalAlignment(SwingConstants.LEFT);

    JScrollPane pane = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

    JPanel PANEL = new JPanel();
    PANEL.setLayout(new BoxLayout(PANEL, BoxLayout.PAGE_AXIS));
    PANEL.add(theLabel);
    PANEL.add(pane);
    add(PANEL);
  }
}

【问题讨论】:

    标签: java html swing jframe scrollbar


    【解决方案1】:

    当您打算使用 JFrame 的整个大小来显示 html 内容时,不应使用 BoxLayout。

    首先将您的 HTML 小部件放入 JScrollPane。 然后将此 JScrollPane 添加为主面板中的唯一项目。您可以将 GridLayout(1,1) 用于主面板。 然后做 frame.setContentPane(mainPanel)。

    【讨论】:

    • 你能给我举个例子吗?谢谢
    猜你喜欢
    • 2013-07-01
    • 2011-11-10
    • 1970-01-01
    • 2014-05-15
    • 2015-04-16
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 2019-03-24
    相关资源
    最近更新 更多