2
我知道,你可以通过输入如何在Java中创建一个创建文本字段的GUI按钮?
JButton x= new JButton("Something");
x.addActionListener(this);
创建一个按钮,但我怎么做一个ActionListener,使得按钮创建一个文本框FO用户提供输入....?我如何读课文从那个文本框?
我知道,你可以通过输入如何在Java中创建一个创建文本字段的GUI按钮?
JButton x= new JButton("Something");
x.addActionListener(this);
创建一个按钮,但我怎么做一个ActionListener,使得按钮创建一个文本框FO用户提供输入....?我如何读课文从那个文本框?
Swing没有像文本框这样的动物 - 你的意思是JTextField?如果是这样,...
new JTextField()
add(...)
它添加到您的GUI。getText()
来阅读文本,JTextField tutorials将解释所有这些。revalidate()
和repaint()
,以便容器布局管理器知道更新其布局并重新绘制自己。这只是一个需要做的事情的一般要点。如果您需要更具体的建议,请告诉我们您的问题的细节,您迄今为止所尝试的内容以及工作或失败的内容。
编辑
你问:
但是我怎么做到这一点,这样的文本框是一个“弹出”,而不是除了目前的容器。我拥有它,因此它增加了当前的容器...但这不是我所需要的。
例如:
// myGui is the currently displayed GUI
String foo = JOptionPane.showInputDialog(myGui, "Message", "Title",
JOptionPane.PLAIN_MESSAGE);
System.out.println(foo);
这看起来就像这样:
例如:
JTextField fooField = new JTextField(15);
JTextField barField = new JTextField(15);
JPanel moreComplexPanel = new JPanel(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.insets = new Insets(5, 5, 5, 5);
gbc.weightx = 1.0;
gbc.weighty = 1.0;
gbc.anchor = GridBagConstraints.WEST;
moreComplexPanel.add(new JLabel("Foo:"), gbc);
gbc.gridx = 1;
gbc.anchor = GridBagConstraints.EAST;
moreComplexPanel.add(fooField, gbc);
gbc.gridx = 0;
gbc.gridy = 1;
gbc.anchor = GridBagConstraints.WEST;
moreComplexPanel.add(new JLabel("Bar:"), gbc);
gbc.gridx = 1;
gbc.anchor = GridBagConstraints.EAST;
moreComplexPanel.add(barField, gbc);
int result = JOptionPane.showConfirmDialog(myGui, moreComplexPanel,
"Foobars Forever", JOptionPane.OK_CANCEL_OPTION,
JOptionPane.PLAIN_MESSAGE);
if (result == JOptionPane.OK_OPTION) {
System.out.println("foo = " + fooField.getText());;
System.out.println("bar = " + barField.getText());;
}
这将是这样的:
@ user1261445:有一个相关的例子[这里](http://stackoverflow.com/a/5812981/ 230513)可能会让你开始使用[sscce](http://sscce.org/)。 – trashgod 2012-04-10 01:15:47
但我该如何做到这一点,使textField是一个“弹出”,而不是当前容器的添加。我拥有它,因此它增加了当前的容器...但这不是我所需要的。 – user1261445 2012-04-10 02:06:34
@ user1261445:请参阅上面的编辑回答。 – 2012-04-10 03:32:14