我是用VE开发的想用StackLayou类,做一个界面
这个界面分左右两部分,左面是StackLayout布局,放置两个text框,右边是两个按钮
初始的时候左边不显示,当按了相应的按钮后,左边显示相应的text框我的代码出现一个小错误,就是topControl的时候不对,不知道哪里错了,查了半天了,过路的帮帮忙贴上我的代码:/*
* 创建日期 2005-10-25
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
package eclipse_study;import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StackLayout;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Text;
/**
* @author stt
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class StackLayout1 { private org.eclipse.swt.widgets.Shell sShell = null;
private Composite composite = null;
private Composite composite1 = null;
private Button button1 = null;
private Button button2 = null;
private Text text1 = null;
private Text text2 = null;
/**
* This method initializes sShell
*/
private void createSShell() {
sShell = new org.eclipse.swt.widgets.Shell();
createComposite();
createComposite1();
sShell.setText("Shell");
sShell.setLayout(new FillLayout());
sShell.setSize(new org.eclipse.swt.graphics.Point(300,200));
}
/**
* This method initializes composite
*
*/
private void createComposite() {
composite = new Composite(sShell, SWT.NONE);
final StackLayout stackLayout = new StackLayout();
composite.setLayout(stackLayout);
text1 = new Text(composite, SWT.BORDER);
text2 = new Text(composite, SWT.BORDER);
text1.setBounds(new org.eclipse.swt.graphics.Rectangle(28,91,72,20));
text1.setText("text1");
text2.setBounds(new org.eclipse.swt.graphics.Rectangle(35,123,72,20));
text2.setText("text2");
}
/**
* This method initializes composite1
*
*/
private void createComposite1() {
composite1 = new Composite(sShell, SWT.NONE);
button1 = new Button(composite1, SWT.NONE);
button2 = new Button(composite1, SWT.NONE);
button1.setText("button1");
button2.setText("button2");
composite1.setLayout(new RowLayout());
button1.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
System.out.println("widgetSelected()"); // TODO Auto-generated Event stub widgetSelected()
stackLayout.topControl = text1; //将text1框显示,就是这里会出错。stackLayout下面显示小红线,晕了
composite.layout(); //将界面刷新一下,否则显示上会没任何反映的
}
});
}
} 郁闷呀
这个界面分左右两部分,左面是StackLayout布局,放置两个text框,右边是两个按钮
初始的时候左边不显示,当按了相应的按钮后,左边显示相应的text框我的代码出现一个小错误,就是topControl的时候不对,不知道哪里错了,查了半天了,过路的帮帮忙贴上我的代码:/*
* 创建日期 2005-10-25
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
package eclipse_study;import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StackLayout;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Text;
/**
* @author stt
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class StackLayout1 { private org.eclipse.swt.widgets.Shell sShell = null;
private Composite composite = null;
private Composite composite1 = null;
private Button button1 = null;
private Button button2 = null;
private Text text1 = null;
private Text text2 = null;
/**
* This method initializes sShell
*/
private void createSShell() {
sShell = new org.eclipse.swt.widgets.Shell();
createComposite();
createComposite1();
sShell.setText("Shell");
sShell.setLayout(new FillLayout());
sShell.setSize(new org.eclipse.swt.graphics.Point(300,200));
}
/**
* This method initializes composite
*
*/
private void createComposite() {
composite = new Composite(sShell, SWT.NONE);
final StackLayout stackLayout = new StackLayout();
composite.setLayout(stackLayout);
text1 = new Text(composite, SWT.BORDER);
text2 = new Text(composite, SWT.BORDER);
text1.setBounds(new org.eclipse.swt.graphics.Rectangle(28,91,72,20));
text1.setText("text1");
text2.setBounds(new org.eclipse.swt.graphics.Rectangle(35,123,72,20));
text2.setText("text2");
}
/**
* This method initializes composite1
*
*/
private void createComposite1() {
composite1 = new Composite(sShell, SWT.NONE);
button1 = new Button(composite1, SWT.NONE);
button2 = new Button(composite1, SWT.NONE);
button1.setText("button1");
button2.setText("button2");
composite1.setLayout(new RowLayout());
button1.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
System.out.println("widgetSelected()"); // TODO Auto-generated Event stub widgetSelected()
stackLayout.topControl = text1; //将text1框显示,就是这里会出错。stackLayout下面显示小红线,晕了
composite.layout(); //将界面刷新一下,否则显示上会没任何反映的
}
});
}
} 郁闷呀
解决方案 »
- ==各路好手,能否将图片 加入 jtable数据行中?==
- 一个不太复杂的管理界面,想用web浏览器作UI,应该怎么设计?
- 关于方法覆盖的一个概念问题
- 如何把ppt嵌入到Jpanel里面???
- jdk的使用问题
- 在线等待!关于类的问题!!
- 为何会报NoClassDef Error?
- 用Java对文件操作!解决后立即给分!
- 如何写一个COPY类实现COPY文件从一个硬盘拷到另一硬盘或文件里?
- 【急求求帮助】整合Spring+Hibernate的时候出现Unrooted Tests求好人帮忙解决下!谢谢了!
- socket发送数据流问题?帮帮忙!!!!
- 奇怪的异常 NoSuchFieldError???
放到 private StackLayout stackLayout = new StackLayout();