我有一个界面,里面有六个TEXT,要求双击一个就把把他放大,再次双击就变回原来的摸样。请问改咋做,下面是原码:package widget; import org.eclipse.swt.*; 
import org.eclipse.swt.widgets.*; 
import org.eclipse.swt.custom.*; 
import org.eclipse.swt.layout.*; 
import org.eclipse.swt.events.*; public class SashFormExample { 
private SashForm sashForm1; private SashForm sashForm2; private Text textA; private Text textB; public SashFormExample() { 
Display display = new Display(); 
Shell shell = new Shell(display); 
shell.setSize(400, 280); 
shell.setLayout(new FillLayout()); 
Composite topComp=new Composite(shell,SWT.NONE); 
topComp.setLayout(new GridLayout(3,true)); Text text1= new Text(topComp, SWT.BORDER);// 
final GridData gird1= new GridData(GridData.FILL_BOTH); 
gird1.horizontalSpan = 2; 
gird1.verticalSpan = 2; 
text1.setLayoutData(gird1); 
text1.addMouseListener(new MouseAdapter() { 
public void mouseDoubleClick(final MouseEvent e) { 
if (gird1.horizontalSpan==2) 
{gird1.horizontalSpan=3; 
gird1.verticalSpan=3;} 
else {gird1.horizontalSpan=1; 
gird1.verticalSpan=1;} 

}); Text text2= new Text(topComp, SWT.BORDER); 
final GridData gird2= new GridData(GridData.FILL_BOTH); 
gird2.horizontalSpan = 1; 
gird2.verticalSpan = 1; 
text2.setLayoutData(gird2); 
text2.addMouseListener(new MouseAdapter() { 
public void mouseDoubleClick(final MouseEvent e) { 
if (gird2.horizontalSpan==1) 
{gird2.horizontalSpan=3; 
gird2.verticalSpan=3;} 
else {gird2.horizontalSpan=1; 
gird2.verticalSpan=1;} 

}); Text text3= new Text(topComp, SWT.BORDER); 
final GridData gird3= new GridData(GridData.FILL_BOTH); 
gird3.horizontalSpan = 1; 
text3.setLayoutData(gird3); 
text3.addMouseListener(new MouseAdapter() { 
public void mouseDoubleClick(final MouseEvent e) { 
if (!(gird3.horizontalSpan==1)) 
{gird3.horizontalSpan=3; 
gird3.verticalSpan=3;} 
else {gird3.horizontalSpan=1; 
gird3.verticalSpan=1;} 

}); Text text4= new Text(topComp, SWT.BORDER); 
final GridData gird4= new GridData(GridData.FILL_BOTH); 
gird4.horizontalSpan = 1; 
text4.setLayoutData(gird4); 
text4.addMouseListener(new MouseAdapter() { 
public void mouseDoubleClick(final MouseEvent e) { 
if (gird4.horizontalSpan==1) 
{gird4.horizontalSpan=3; 
gird4.verticalSpan=3;} 
else {gird4.horizontalSpan=1; 
gird4.verticalSpan=1;} 

}); 
Text text5= new Text(topComp, SWT.BORDER); 
final GridData gird5= new GridData(GridData.FILL_BOTH); text5.setLayoutData(gird5); Text text6= new Text(topComp, SWT.BORDER); final GridData gird6= new GridData(GridData.FILL_BOTH); 
text6.setLayoutData(gird6); 
gird6.horizontalSpan = 1; 
text6.addMouseListener(new MouseAdapter() { 
public void mouseDoubleClick(final MouseEvent e) { 
if (gird6.horizontalSpan==1) 
{gird6.horizontalSpan=3; 
gird6.verticalSpan=3; 
gird1.horizontalSpan = 0; 
gird1.verticalSpan = 0; 
gird2.horizontalSpan = 0; 
gird2.verticalSpan = 0; 
gird3.horizontalSpan = 0; 
gird3.verticalSpan = 0; 
gird4.horizontalSpan = 0; 
gird4.verticalSpan =0; 
gird5.horizontalSpan = 0; 
gird5.verticalSpan = 0; 

else {gird6.horizontalSpan=1; 
gird6.verticalSpan=1;} 

}); 
shell.layout(); 
shell.open(); 
shell.open(); 
shell.layout(); 
while (!shell.isDisposed()) { 
if (!display.readAndDispatch()) 
display.sleep(); 

} public static void main(String[] args) { 
new SashFormExample(); 


解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【djb525】截止到2008-06-29 21:49:21的历史汇总数据(不包括此帖):
    发帖数:2                  发帖分:30                 
    结贴数:0                  结贴分:0                  
    未结数:2                  未结分:30                 
    结贴率:0.00  %            结分率:0.00  %            
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html