SWT 比例小部件 - 浮点值
SWT scale widget - floating point values
如何在 swt 中显示带有浮点值的刻度?
这就是我现在拥有的
Group groupTime = new Group(shell, SWT.BORDER);
groupTime.setLayout(new GridLayout(1,true));
groupTime.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false,false, 1, 1));
new Label(groupTime, SWT.NONE).setText("Speed in seconds:");
Scale scale = new Scale (groupTime, SWT.BORDER);
scale.setMaximum (10);
Label speedLabel = new Label(groupTime, SWT.NONE);
speedLabel.setText("time");
scale.addListener(SWT.Selection, new Listener ()
{
public void handleEvent(Event event)
{
speedLabel.setText(scale.getSelection()+"");
}
});
谢谢
它在内部处理整数,所以你必须自己让它处理浮点数。这会给你一位小数 space:
Scale scale = new Scale(shell, SWT.BORDER);
scale.setMaximum(10 * 10);
Label speedLabel = new Label(shell, SWT.NONE);
speedLabel.setText("time");
scale.addListener(SWT.Selection, new Listener()
{
public void handleEvent(Event event)
{
speedLabel.setText((scale.getSelection() / 10f) + "");
}
});
如果您需要更多的小数 space,那么 Scale
确实不适合您。
如何在 swt 中显示带有浮点值的刻度?
这就是我现在拥有的
Group groupTime = new Group(shell, SWT.BORDER);
groupTime.setLayout(new GridLayout(1,true));
groupTime.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false,false, 1, 1));
new Label(groupTime, SWT.NONE).setText("Speed in seconds:");
Scale scale = new Scale (groupTime, SWT.BORDER);
scale.setMaximum (10);
Label speedLabel = new Label(groupTime, SWT.NONE);
speedLabel.setText("time");
scale.addListener(SWT.Selection, new Listener ()
{
public void handleEvent(Event event)
{
speedLabel.setText(scale.getSelection()+"");
}
});
谢谢
它在内部处理整数,所以你必须自己让它处理浮点数。这会给你一位小数 space:
Scale scale = new Scale(shell, SWT.BORDER);
scale.setMaximum(10 * 10);
Label speedLabel = new Label(shell, SWT.NONE);
speedLabel.setText("time");
scale.addListener(SWT.Selection, new Listener()
{
public void handleEvent(Event event)
{
speedLabel.setText((scale.getSelection() / 10f) + "");
}
});
如果您需要更多的小数 space,那么 Scale
确实不适合您。