没道理不显示按钮的那个小地方出错了

时间:2008-08-27 17:01:48   来源:论坛整理  作者:  编辑:chinaitzhe
Java code





Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/



import javax.swing.*;

import java.awt.*;

class MyFrame extends JFrame

{

    MyFrame(String title)

    {

        super(title);

        setLayout(null);

        setBounds(50,50,600,300);

        

        setDefaultCloseOperation(EXIT_ON_CLOSE);

    }    

}

class temp

{

    public static void main(String args[])

    {        

        MyFrame my = new MyFrame("测试");

        JButton jb = new JButton("打开");

        my.add(jb);

        System.out.println(jb);

        my.setVisible(true);

    }

}


网友回复:此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【sure2003】截止到2008-07-31 09:54:04的历史汇总数据(不包括此帖):
发帖的总数量:280 发帖的总分数:11393 每贴平均分数:40
回帖的总数量:244 得分贴总数量:11 回帖的得分率:4%
结贴的总数量:279 结贴的总分数:11363
无满意结贴数:2 无满意结贴分:50
未结的帖子数:1 未结的总分数:30
结贴的百分比:99.64 % 结分的百分比:99.74 %
无满意结贴率:0.72 % 无满意结分率:0.44 %
值得尊敬
取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=sure2003
网友回复:jb.setBounds(100,100,200,200);
网友回复:
Java code





Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/





package com.zhangkai;



import javax.swing.JButton;

import javax.swing.JFrame;



class MyFrame extends JFrame {

    MyFrame(String title) {

        super(title);

        // setLayout(null);

        setBounds(50, 50, 600, 300);

        JButton jb = new JButton("打开");

        add(jb);

        setVisible(true);

        setDefaultCloseOperation(EXIT_ON_CLOSE);

    }

}



public class temp {

    public static void main(String args[]) {

        new MyFrame("button texted");

    }

}




网友回复:为什么按钮需要setBounds.
为什么我修改成这样,就不需要setBounds()了??

Java code





Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/



import javax.swing.*;

import java.awt.*;

class MyFrame extends JFrame

{

    MyFrame(String title)

    {

        super(title);

        setLayout(null);

        setBounds(50,50,600,300);

        

        setDefaultCloseOperation(EXIT_ON_CLOSE);

    }    

}

class temp

{

    public static void main(String args[])

    {        

        MyFrame my = new MyFrame("测试");

        my.setLayout(new FlowLayout()); //仅仅增加这一句,就行了吗??????

        JButton jb = new JButton("打开");

        my.add(jb);

        jb.setBounds(100,100,200,200);

        System.out.println(jb);

        my.setVisible(true);

    }

}





网友回复:setLayout(null),布局成null,那button添加上了,但是不显示。
所以一个就是setLayout().
2就是setBounds指定位置让它呆在那儿。
网友回复:
Java code





Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/





import javax.swing.*;

import java.awt.*;

class MyFrame extends JFrame

{

    MyFrame(String title)

    {

        super(title);

        setLayout(null);

        setBounds(50,50,600,300);

        

        setDefaultCloseOperation(EXIT_ON_CLOSE);

    }    

}

class temp

{

    public static void main(String args[])

    {        

        MyFrame my = new MyFrame("测试");

        my.setLayout(new FlowLayout()); 

        JButton jb = new JButton("打开");

        my.getContentPane().add(jb);   //不能直接向JFrame里添加控件,需获取它的内容面板,向内容面板里添加控件

        jb.setBounds(100,100,200,200);

        my.setVisible(true);

    }

}






网友回复:顶下。。。
网友回复:对6楼的说法
貌似可以直接向JFrame加控件
网友回复:
引用 8 楼 CTea321 的回复:
对6楼的说法
貌似可以直接向JFrame加控件

网友回复:该回复于2008-08-01 09:13:02被版主删除
关键字:按钮,道理,地方,

文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面