首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java SE 两个小疑点

2012-07-29 
java SE 两个小问题我现在有两个问题:1. 我新建了一个MyJFrame继承JFrame然后又新建了一个MyJPanel 继承JP

java SE 两个小问题
我现在有两个问题:
1. 我新建了一个MyJFrame继承JFrame 然后又新建了一个MyJPanel 继承JPanel  
 

Java code
 public MyJFrame()    {        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        setBounds(100, 100, 450, 300);        contentPane = new MyJPanel();    //新建的JPanel        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));        contentPane.setLayout(new BorderLayout(0, 0));        setContentPane(contentPane);    }

但是我在JPanel中托了几个JRadioButton 但是一运行却看不见那几个按钮
但是可以在这个面板上画东西 画的问题出现了 看下

2. 我想画个拖拽的椭圆,能看的到时时变化的那种 我用变量记录了 mousePressed mouseDragged 然后在mouseDragged里加了 repaint();
Java code
protected void paintComponent(Graphics g) {        g.setXORMode(Color.gray);          switch(state)        {        case 1:            g.drawRect(sx, sy, ex - sx, ey - sy);            break;        case 2:            g.drawOval(sx, sy, ex - sx, ey - sy);            break;        default:            break;        }            }

  可以画出东西来 但是问题可能出现在异或上,我发现比如画的椭圆,本来就是线框,只有在相交的地方有异或,中间的地方没有,要怎么解决:

[解决办法]
按钮有没有加到Frame里,
[解决办法]
问题1,没看懂,你是怎么把按钮加到布局上的?

问题2,如果要画实心的,需要用fillOval而不是drawOval
[解决办法]
1
因为重写了paintComponent方法,而该方法没有实现画按钮,所以按钮丢失,在paintComponent的开始调用一下super(g);来让父类完成相关控件的绘画
protected void paintComponent(Graphics g) {
super(g); //here
g.setXORMode(Color.gray);

2
图片看不到,不清楚LZ所说的问题

热点排行
Bad Request.