我自己弄的一个程序,为什么双击鼠标,text不会放大呢?
/**@author WangJinTao,MengQingChang 2006
 */
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-25 11:58:29的历史汇总数据(不包括此帖):
    发帖数:1                  发帖分:10                 
    结贴数:0                  结贴分:0                  
    未结数:1                  未结分:10                 
    结贴率:0.00  %            结分率:0.00  %            
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    我是想双击一个TEXT就可以把他放大,在双击就变小,这个问题咋解决
      

  3.   

    这样试试,双击的时候用setWidth()和setHeigth()方法改变text的大小应该可以了。
      

  4.   

    或者使用setbounds()这个方法也可以
      

  5.   

    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;}
    text1.setLayoutData(gird1);
    }
    }); 加上这个应该可以了
    -------------------------------------------------------------
                Quietly through  .....
      

  6.   

    我觉得绝对坐标比相对坐标要好一些,实际应用中,如果有好看的图形界面,感觉相对坐标是搞不定的 -------------------------------------------------------------
                Quietly through  ..... 
      

  7.   

    但是这样能定位吗?我的意思是说,别的text 也存在,又是可视的,他们会不会占着位子不让亚?