Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 设置JOptionPane的大小_Java_Swing - Fatal编程技术网

Java 设置JOptionPane的大小

Java 设置JOptionPane的大小,java,swing,Java,Swing,试图设置JOptionPane的大小,但它仍然保持相同的大小。我尝试过setPreferredSize和setSize,但由于某些原因,JopOptions窗格的宽度和高度保持不变。 基本上,我有一堆文本,由于窗口的大小,它们被“切断” 实际上,我使用的是另一种语言的swing库的一个端口,因此这可能是他们的库的一个bug——但根据文档,它应该反映Java swing调用 我错过什么了吗 编辑-希望添加我使用joptionpane.showInputDialog创建joptionpane的内容

试图设置JOptionPane的大小,但它仍然保持相同的大小。我尝试过setPreferredSize和setSize,但由于某些原因,JopOptions窗格的宽度和高度保持不变。 基本上,我有一堆文本,由于窗口的大小,它们被“切断”

实际上,我使用的是另一种语言的swing库的一个端口,因此这可能是他们的库的一个bug——但根据文档,它应该反映Java swing调用

我错过什么了吗

  • 编辑-希望添加我使用joptionpane.showInputDialog创建joptionpane的内容

  • 再次编辑-我使用的是ASwing(JavaSwing的actionscript端口),因此可能存在api差异,尽管它应该是一个 港口…)


最好创建一个具有prefereed大小的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); 

请参见检查容器的布局管理器。实际上,已找到修复程序。移植的库构建了JOptionPane,我想与Java版本略有不同

optionpane.getFrame().setSize()

(使用Java Swing的ASwing-Actionscript端口)

您也可以通过扩展我们的组件覆盖setSize:

public class Headerfield extends JLabel
{
    public Headerfield(String text)
    {
        super(text);
    }

    public void setSize(int width, int height)
    {
        super.setSize(100, 20);
    }
}

通往罗马的许多道路——违反方法合同不在其中;-)