我正在尝试为JOptionPane
带有超链接的长句子调整对话框()的高度。
我的代码是..
public class DialogTest {
public static void main(String[] args) throws Exception {
JTextPane jtp = new JTextPane();
Document doc = jtp.getDocument();
for (int i = 0; i < 50; i++) {
doc.insertString(doc.getLength(), " Hello Java World ", new SimpleAttributeSet());
if ((3 == i) || (7 == i) || (15 == i)) {
doc.insertString(doc.getLength(), " Hello Java World ", new SimpleAttributeSet());
SimpleAttributeSet attrs = new SimpleAttributeSet();
StyleConstants.setUnderline(attrs, true);
StyleConstants.setForeground(attrs, Color.BLUE);
String text = "www.google.com";
URL url = new URL("http://" + text);
attrs.addAttribute(HTML.Attribute.HREF, url.toString());
doc.insertString(doc.getLength(), text, attrs);
}
}
JScrollPane jsp = new JScrollPane(jtp);
jsp.setPreferredSize(new Dimension(480, 150));
jsp.setBorder(null);
JOptionPane.showMessageDialog(null, jsp, "Title", JOptionPane.INFORMATION_MESSAGE);
}}
如果我没有设置首选大小,那么该对话框将非常长,并且不可读。因此,我想将宽度固定为480。
而且,我要根据文字的长度调整高度。
如果运行此代码,则会看到垂直滚动条。但我不想显示该滚动条并调整对话框的高度。
为了固定宽度并调整高度,我亲自使用了这个技巧:您可以使用setSize固定任意高度和目标宽度,然后使用getPreferredSize()获得所需的高度:
jtp.setSize(new Dimension(480, 10));
jtp.setPreferredSize(new Dimension(480, jtp.getPreferredSize().height));
完整的代码是:
public class DialogTest {
public static void main(String[] args) throws Exception {
JTextPane jtp = new JTextPane();
Document doc = jtp.getDocument();
for (int i = 0; i < 50; i++) {
doc.insertString(doc.getLength(), " Hello Java World ", new SimpleAttributeSet());
if ((3 == i) || (7 == i) || (15 == i)) {
doc.insertString(doc.getLength(), " Hello Java World ", new SimpleAttributeSet());
SimpleAttributeSet attrs = new SimpleAttributeSet();
StyleConstants.setUnderline(attrs, true);
StyleConstants.setForeground(attrs, Color.BLUE);
String text = "www.google.com";
URL url = new URL("http://" + text);
attrs.addAttribute(HTML.Attribute.HREF, url.toString());
doc.insertString(doc.getLength(), text, attrs);
}
}
//JScrollPane jsp = new JScrollPane(jtp);
//jsp.setPreferredSize(new Dimension(480, 150));
//jsp.setBorder(null);
jtp.setSize(new Dimension(480, 10));
jtp.setPreferredSize(new Dimension(480, jtp.getPreferredSize().height));
//JOptionPane.showMessageDialog(null, jsp, "Title", JOptionPane.INFORMATION_MESSAGE);
JOptionPane.showMessageDialog(null, jtp, "Title", JOptionPane.INFORMATION_MESSAGE);
}}
问题内容: 我在查找有关此方面的特定信息和示例时遇到很多麻烦。我的应用程序中有许多jQuery UI对话框,这些对话框附加到已加载.ajax()调用的div上。它们都使用相同的设置调用: 我只想将对话框调整为要加载的内容的宽度。现在,宽度仅停留在300px(默认),我得到一个水平滚动条。 据我所知,“ autoResize”不再是对话框的选项,当我指定它时什么也没有发生。 我尝试不为每个对话框编写
问题内容: 我是Java Swing的新手,对下一个代码感到困惑。 我的目标是制作带有 2个JTextPane的 垂直可滚动面板 。具有父面板固定宽度70%的第一个JTextPane和具有固定宽度30%的第二个JTextPane。因为这两个JTextPane具有固定的宽度,所以它们只能在垂直方向上扩展更多文本。 我使用此解决方案,因为我只想为此2个JTextPane使用一个滚动条。 我的初始化代码
我是Java Swing的新手,我对下一个代码感到困惑。 null
问题内容: 我有以下代码 div宽度为200px,因此border-bottom也是200px,但是如果我希望border-bottom- bottom仅100px而又不更改div宽度,该怎么办? 问题答案: 您可以使用伪元素。例如 无需出于演示目的使用额外的标记。IE8也支持:after。 编辑: 如果你需要一个右对齐边框,只是改变与 如果您需要居中对齐的边框,只需设置
C 11首先引入了对通过用户定义的文本在C中定义新文本的支持。C 11或更高版本是否也为
对于像这样的固定宽度整数类型,是否有一些整数文字的c建议?