尝试设置JOptionPane的大小,但它的大小相同。我尝试过setPreferredSize和setSize但由于某种原因,JOptionPane坚持使用相同的宽度和高度。 基本上我有一堆文本,由于窗口的大小,它被“切断”。
我实际上正在使用另一种语言的swing库的端口,所以它可能是他们库的一个错误 - 但根据文档,它应该反映Java Swing调用。
我错过了什么吗?
编辑 - 想添加我用JOptionPane.showInputDialog创建joptionpane
再次编辑 - 我正在使用ASwing(Java Swing的actionscript端口 - 因此可能存在api差异,尽管它应该是 端口...)
答案 0 :(得分:5)
最好创建一个带有优先大小的JPanel或带有JScrollPane滚动条的JTextArea,并将其添加到optionpan。
这很容易做到,不仅可以设置对话框的大小,还可以提供极大的内容灵活性。
JTextArea mytext = new JTextArea();
mytext.setText("mytextline1\nmytextline2\nmytextline3\nmytextline4\nmytextline5\nmytextline6");
mytext.setRows(5);
mytext.setColumns(10);
mytext.setEditable(true);
JScrollPane mypane = new JScrollPane(mytext);
Object[] objarr = {
new JLabel("Enter some text:"),
mypane,
};
JOptionPane Optpane = new JOptionPane(objarr, JOptionPane.PLAIN_MESSAGE);
请参阅details
答案 1 :(得分:3)
检查容器的布局管理器
答案 2 :(得分:1)
实际上,找到了修复。移植的库构建了JOptionPane,我想与Java版本略有不同。
optionpane.getFrame().setSize()
(使用ASwing - Java Swing的Actionscript端口)
答案 3 :(得分:0)
您也可以通过扩展我们的Componemt来覆盖setSize:
public class Headerfield extends JLabel
{
public Headerfield(String text)
{
super(text);
}
public void setSize(int width, int height)
{
super.setSize(100, 20);
}
}