gpt4 book ai didi

java - 从 JOptionPane 中的 JTextArea 获取输入

转载 作者:行者123 更新时间:2023-12-01 18:05:03 24 4
gpt4 key购买 nike

我正在编写一个编辑器,让用户设计一个选择/投标表。该程序的一部分是能够添加具有名称和描述的子类别。我以前做过类似这样的更复杂的事情,但因为我需要在几天内完成此操作,所以我决定尝试使用 JOptionPane 并传入 JTextField 作为名称,并传入 JTextArea 以获得冗长的描述。这是我目前拥有的代码。

    JPanel mainPanel = new JPanel( new GridBagLayout());
mainPanel.setBorder( new TitledBorder("Set Creation Pane") );

JTextField setNameField = new JTextField( 20 );
JLabel dialogLabel1, dialogLabel2;
dialogLabel1 = new JLabel("Create a new set called");

if(possibleSuperSetName == null || possibleSuperSetName.length() == 0)
{
dialogLabel2 = new JLabel("at a global level");
}
else
{
dialogLabel2 = new JLabel("that is a subset to "+possibleSuperSetName);
}

JLabel description = new JLabel("Description for set");
JTextArea textArea = new JTextArea("Testing Testing 123");
textArea.setColumns(80);
textArea.setRows(10);
textArea.setFont( new Font( Font.MONOSPACED, Font.PLAIN, textArea.getFont().getSize() ) );
textArea.setEditable( true );
textArea.setLineWrap(true);
textArea.setWrapStyleWord( true );

GridBagConstraints c = new GridBagConstraints();
c.anchor = GridBagConstraints.CENTER;
c.gridx = 0;
c.gridy = 0;
mainPanel.add( dialogLabel1, c );
c.gridx = 1;
mainPanel.add( setNameField, c );
c.gridx = 2;
mainPanel.add( dialogLabel2, c );
c.gridx = 0;
c.gridy = 1;
mainPanel.add(description, c);
c.gridy = 2;
c.gridwidth = 3;
mainPanel.add(description, c);

int option = JOptionPane.showConfirmDialog( null,
mainPanel,
"Set Creation",
JOptionPane.OK_CANCEL_OPTION );

if( option == JOptionPane.OK_OPTION )
{
ItemSet newSet = new ItemSet();
newSet.setSetName(setNameField.getText());
newSet.setDescription(textArea.getText());
caller.addSet(newSet);
}

当我运行此代码时,OptionPane 可以正确打开并与 JTextField 一起正常工作,但 JTextArea 根本不会显示。这有什么原因吗?

最佳答案

您没有在任何面板/对话框等中添加文本区域,这就是它不显示在屏幕上的原因。

    c.gridx = 0;
c.gridy = 1;
mainPanel.add(description, c);
c.gridy = 2;
c.gridwidth = 3;
//change it mainPanel.add(description, c);
mainPanel.add(textArea, c);

关于java - 从 JOptionPane 中的 JTextArea 获取输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37123238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com