<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    DANCE WITH JAVA

    開發出高質量的系統

    常用鏈接

    統計

    積分與排名

    好友之家

    最新評論

    Jface的Hello world引出的問題

    Jface的hello World網上到處都是,但簡單的Hello world能引出很多需要注意的問題.
    首先大部分網上的jface helloworld如下:
    import org.eclipse.jface.window.ApplicationWindow;
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.graphics.Point;
    import org.eclipse.swt.widgets.Composite;
    import org.eclipse.swt.widgets.Control;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.Text;


    public class TestWindow extends ApplicationWindow {

        
    public TestWindow() {
            
    super(null);
        }

        
    protected Control createContents(Composite parent) {
            Text text 
    = new Text(parent,SWT.NONE);
            text.setText(
    "hello world");
            
    return parent;
        }

        
    public static void main(String args[]) {
            
    try {
                TestWindow window 
    = new TestWindow();
                window.setBlockOnOpen(
    true);
                window.open();
                Display.getCurrent().dispose();
            }
     catch (Exception e) {
                e.printStackTrace();
            }

        }

    }


    這個代碼是可以運行的,而且運行的結果也看不出什么問題。但看不出來并不代表沒有問題。下邊我們來讓問題顯現
    在createContents()函數中再加入一個Text代碼變成
    import org.eclipse.jface.window.ApplicationWindow;
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.widgets.Composite;
    import org.eclipse.swt.widgets.Control;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.Text;


    public class TestWindow extends ApplicationWindow {

        
    public TestWindow() {
            
    super(null);
        }

        
    protected Control createContents(Composite parent) {
            Text text 
    = new Text(parent,SWT.NONE);
            text.setText(
    "hello world");
            Text text1 
    = new Text(parent,SWT.NONE);
            text1.setText(
    "it's me");
            
    return parent;
        }

        
    public static void main(String args[]) {
            
    try {
                TestWindow window 
    = new TestWindow();
                window.setBlockOnOpen(
    true);
                window.open();
                Display.getCurrent().dispose();
            }
     catch (Exception e) {
                e.printStackTrace();
            }

        }

    }

    運行,并沒有看到第二個Text,為什么?
    是否沒有設置text的Bounds?好設置一下
    import org.eclipse.jface.window.ApplicationWindow;
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.graphics.Point;
    import org.eclipse.swt.widgets.Composite;
    import org.eclipse.swt.widgets.Control;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.Text;


    public class TestWindow extends ApplicationWindow {

        
    public TestWindow() {
            
    super(null);
        }

        
    protected Control createContents(Composite parent) {

            Text text 
    = new Text(parent, SWT.BORDER);
            text.setText(
    "hello world");
            text.setBounds(
    591128025);
            
            Text text_1 
    = new Text(parent, SWT.BORDER);
            text_1.setText(
    "it's me");
            text_1.setBounds(
    722218025);
            
    return parent;
        }

        
    public static void main(String args[]) {
            
    try {
                TestWindow window 
    = new TestWindow();
                window.setBlockOnOpen(
    true);
                window.open();
                Display.getCurrent().dispose();
            }
     catch (Exception e) {
                e.printStackTrace();
            }

        }

        
    private void createActions() {
        }

    }

    效果依舊,那是為什么呢?
    這是因為在createContents()方法中直接使用了參數中的parent,造成了布局(layout)的混亂,在只有一個的text的情況下看不出來,現在就看出來了。
    解決辦法:再構造一個composite,在我們平時使用的時候記得一定要構造一個自己的composite,設置自己的布局,不要直接使用參數中的composite
    import org.eclipse.jface.window.ApplicationWindow;
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.widgets.Composite;
    import org.eclipse.swt.widgets.Control;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.Text;


    public class TestWindow extends ApplicationWindow {

        
    public TestWindow() {
            
    super(null);
        }

        
    protected Control createContents(Composite parent) {
            Composite container 
    = new Composite(parent, SWT.NONE);

            Text text 
    = new Text(container, SWT.BORDER);
            text.setText(
    "hello world");
            text.setBounds(
    591128025);
            
            Text text_1 
    = new Text(container, SWT.BORDER);
            text_1.setText(
    "it's me");
            text_1.setBounds(
    722218025);
            
    return container;
        }

        
    public static void main(String args[]) {
            
    try {
                TestWindow window 
    = new TestWindow();
                window.setBlockOnOpen(
    true);
                window.open();
                Display.getCurrent().dispose();
            }
     catch (Exception e) {
                e.printStackTrace();
            }

        }

        
    private void createActions() {
        }

    }


    posted on 2007-08-07 09:10 dreamstone 閱讀(1413) 評論(0)  編輯  收藏 所屬分類: SWT和插件開發

    主站蜘蛛池模板: 亚洲人成色7777在线观看| 一级全免费视频播放| 亚洲熟妇丰满多毛XXXX| 日韩中文字幕在线免费观看| 91香蕉国产线观看免费全集| 三上悠亚电影全集免费| 特级毛片aaaa免费观看| 亚洲精品GV天堂无码男同| 亚洲区视频在线观看| 亚洲国产精品第一区二区 | 亚洲国产成人精品久久| 亚洲熟妇av一区二区三区漫画| 国产成人无码区免费A∨视频网站| 成视频年人黄网站免费视频| 999久久久免费精品播放| 国产午夜不卡AV免费| igao激情在线视频免费| 色一情一乱一伦一视频免费看| 91丁香亚洲综合社区| 亚洲综合激情九月婷婷| 久久丫精品国产亚洲av不卡| 亚洲成色在线综合网站| 国产午夜亚洲精品理论片不卡| 全亚洲最新黄色特级网站| 国产免费人人看大香伊| 色www永久免费视频| 日韩精品免费电影| 日韩毛片无码永久免费看| 男女啪啪永久免费观看网站| 成人免费视频一区二区三区| 成人午夜大片免费7777| 成人人观看的免费毛片| 成年18网站免费视频网站| 岛国大片免费在线观看| 成年美女黄网站18禁免费| 99视频在线精品免费观看6| 成年人在线免费观看| 四虎免费在线观看| 在线观看永久免费视频网站| 免费a级毛片无码av| 亚洲日韩在线观看免费视频|