javaswt的Text类

请问如何读取text里的内容并将其作为函数a的参数呢?是a(getText)?... 请问如何读取text里的内容并将其作为函数a的参数呢?
是a(getText)?
展开
 我来答
eclipse9000
2009-05-07 · TA获得超过329个赞
知道答主
回答量:185
采纳率:0%
帮助的人:0
展开全部
text.getText()

demo

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

public class TemperatureConverter {
Display display = new Display();
Shell shell = new Shell(display);

Label fahrenheitLabel;
Label celsiusLabel;
Label messageLabel;

Text fahrenheitValue;
Text celsiusValue;

public TemperatureConverter() {
shell.setText("SWT Temperature Converter");
shell.setLayout(new GridLayout(4, false));

fahrenheitLabel = new Label(shell, SWT.NULL);
fahrenheitLabel.setText("Fahrenheit: ");

fahrenheitValue = new Text(shell, SWT.SINGLE | SWT.BORDER);

celsiusLabel = new Label(shell, SWT.NULL);
celsiusLabel.setText("Celsius: ");

celsiusValue = new Text(shell, SWT.SINGLE | SWT.BORDER);

messageLabel = new Label(shell, SWT.BORDER);
GridData gridData = new GridData(GridData.FILL_BOTH);
gridData.horizontalSpan = 4;
messageLabel.setLayoutData(gridData);

ModifyListener listener = new ModifyListener() {
public void modifyText(ModifyEvent e) {
valueChanged((Text) e.widget);
}
};

fahrenheitValue.addModifyListener(listener);
celsiusValue.addModifyListener(listener);

shell.pack();
shell.open();

// Set up the event loop.
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
// If no more entries in event queue
display.sleep();
}
}

display.dispose();
}

/**
* Performs conversion when one of the text fields changes.
*
* @param text
* the event source
*/
public void valueChanged(Text text) {
if (!text.isFocusControl())
return;

if (text == fahrenheitValue) {
try {
double fValue = Double.parseDouble(text.getText());
double cValue = (fValue - 32) / 1.8;
celsiusValue.setText(Double.toString(cValue));
System.out.println("F -> C: " + cValue);
messageLabel.setText("Conversion performed successfully.");
} catch (NumberFormatException e) {
celsiusValue.setText("");
messageLabel.setText("Invalid number format: " + text.getText());
}
} else {
try {
double cValue = Double.parseDouble(text.getText());
double fValue = cValue * 1.8 + 32;
fahrenheitValue.setText(Double.toString(fValue));
System.out.println("C -> F: " + fValue);
messageLabel.setText("Conversion performed successfully.");
} catch (NumberFormatException e) {
fahrenheitValue.setText("");
messageLabel.setText("Invalid number format: " + text.getText());
}
}
}

public static void main(String[] args) {
new TemperatureConverter();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chlsgo
2009-05-07 · TA获得超过560个赞
知道小有建树答主
回答量:410
采纳率:0%
帮助的人:421万
展开全部
可以啊,但java.swt 里面没有Text类哦~~
有Textarea TextField...
a(jt.getText());
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式