作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试将居中垂直对齐应用于 JEditorPane 中的文本。但文本仍然与顶部对齐。我哪里出错了?
JEditorPane editor = new JEditorPane();
editor.setText("..large text block..");
editor.setAlignmentY(JEditorPane.CENTER_ALIGNMENT); // DOESN'T WORK
JFrame frame = new JFrame();
frame.setSize(600, 400);
frame.setVisible(true);
frame.add(editor);
最佳答案
我发现最好的做法是通过将组件放置在 JPanel
中进行特殊对齐,然后明智地为面板选择正确的布局管理器。
JEditorPane editor = new JEditorPane();
editor.setBorder(BorderFactory.createLineBorder(Color.RED, 1));
editor.setText("..large text block..");
JScrollPane scrollPane = new JScrollPane(editor);
JPanel panel = new JPanel();
BoxLayout layout = new BoxLayout(panel, BoxLayout.Y_AXIS);
panel.setLayout(layout);
panel.add(Box.createVerticalGlue());
panel.add(scrollPane);
panel.add(Box.createVerticalGlue());
JFrame frame = new JFrame();
frame.setSize(600, 400);
frame.add(panel);
frame.setVisible(true);
这实际上只是将编辑器垂直居中,而不是编辑器中的文本,我认为这就是您想要的。有关 BoxLayout
的更多信息,请参阅 http://docs.oracle.com/javase/tutorial/uiswing/layout/box.html
关于java - JEditorPane 垂直对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23613016/
我是一名优秀的程序员,十分优秀!