java关于swing组件的问题

importjavax.swing.*;classOvalButtonextendsJButton{publicOvalButton(){}publicOvalButto... import javax.swing.*;
class OvalButton extends JButton {
public OvalButton() {
}

public OvalButton(String text) {
super(text);
}

protected void paintComponent(Graphics g) {
// Draw an oval
super.paintComponent(g);
g.drawOval(5, 5, getWidth() - 10, getHeight() - 10);
}

/** Override get method for preferredSize */
public Dimension getPreferredSize() {
return new Dimension(100, 50);
}

/** Override get method for minimumSize */
public Dimension getMinimumSize() {
return new Dimension(100, 50);
}
}
最后两个方法有什么意义?用来干嘛的?可以不要嘛?在这里这样设置的目的是什么?
展开
 我来答
匿名用户
2014-03-01
展开全部

import java.awt.*;//

import java.awt.event.*;

import javax.swing.*;


class OvalButton extends JButton {

public OvalButton() {

}


public OvalButton(String text) {

super(text);

}


protected void paintComponent(Graphics g) {

// Draw an oval

super.paintComponent(g);

// System.out.println("OvalButton.getWidth()=" + getWidth());//

// System.out.println("OvalButton.getHeight()=" + getHeight());//

g.drawOval(5, 5, getWidth() - 10, getHeight() - 10);

    }


    /** Override get method for preferredSize */

/* public Dimension getPreferredSize() {

return new Dimension(100, 50);

}


/** Override get method for minimumSize */

/* public Dimension getMinimumSize() {

return new Dimension(100, 50);

}

*/

public static void main(String[] args) {

JFrame jfrm = new JFrame("OvalButton Test");

OvalButton obtn = new OvalButton("Test");

jfrm.add(obtn);

System.out.println("obtn.getPreferredSize()="+

obtn.getPreferredSize());

System.out.println("obtn.getMinimumSize()="+

obtn.getMinimumSize());

jfrm.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

jfrm.setVisible(true);

jfrm.setBounds(0, 0, 200, 200);

}

}

/*

* public Dimension getPreferredSize();函数用来得到组件OvalButton的首选大小即该组件的尺寸,

* 用户通过重载该方法可以很方便的设置自己认为合适的首选大小。

* public Dimension getMinimumSize(),将此组件的最小大小设置为一个常量值。

* Dimension是尺寸(尺寸包括长和宽)的意思,Java中将其封装成一个含有组件长和宽信息的类,

* 这样做便于这两个函数返回2个信息。若不封装若要返回height和weight有点困难!?

* 如果你的代码的其他部分要调用这两个方法,那这两个方法就有必要重载,具体详见JAVA_API

* 对你给出的代码,本人写了main方法,你可以测试比较重载与不重载这两个方法的区别。

*/

源文件已上传,下载即可如下运行:

注释掉这两个重载方法后的运行结果:

进行这两个重载方法后的运行结果:

hitzsf
2014-03-01 · TA获得超过2060个赞
知道大有可为答主
回答量:1741
采纳率:78%
帮助的人:1166万
展开全部
设置最小尺寸 和 最优尺寸,便于显示
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
2695770
2014-03-01 · 超过22用户采纳过TA的回答
知道答主
回答量:189
采纳率:0%
帮助的人:77万
展开全部
重写这个类中的这两个方法 分别任获取最小的界面大小 获取最合适的界面大小 这样做就覆盖掉了父类的方法 执行的方法会调用你重写的方法 参数是你自己设置的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-03-01
展开全部
重写方法,可以不要,重写是为了设置合适的大小的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式