java 界面问题

package通讯录;importjava.awt.Color;importjava.awt.Graphics;importjavax.swing.JFrame;impo... package 通讯录;

import java.awt.Color;
import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JLabel;

public class StudentPage {

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

class StudentFrame extends JFrame {

JLabel jl1 = new JLabel("功能列表");//就是这个标签

public StudentFrame() {
this.setBounds(400, 100, 600, 600);
this.setLayout(null);
addControl();
this.setResizable(false);
this.setVisible(true);
}

public void addControl() {//添加控件
jl1.setBounds(50, 100, 60, 20);
this.add(jl1);
}

@Override/*加了下面个方法我那个标签就显示不出来, 为什么????
public void paint(Graphics g) {//画一条线
Color c = g.getColor();
g.setColor(Color.gray);
g.drawLine(150, 0, 150, 650);
g.setColor(c);
}

}
展开
 我来答
杰克萧
2013-10-12 · TA获得超过364个赞
知道小有建树答主
回答量:337
采纳率:0%
帮助的人:447万
展开全部
@Override
    public void paint(Graphics g)
    {
        super.paint(g);
        // 画一条线
        Color c = g.getColor();
        g.setColor(Color.red);
        g.drawLine(150, 0, 150, 650);
        g.setColor(c);
    }

如以上代码所示,应该在pain()函数的第一行增加一条语句:

super.paint(g);

原因是,该方法就是用来渲染控件外观的,如果想覆盖该方法,最好是先调用super.paint(g)方法,以避免对无关的控件的正常渲染。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式