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