筱羅卜 2016-05-07 02:35 采纳率: 100%
浏览 959
已采纳

java GUI 问题 求好心人帮忙看看,谢谢

我有一道练习题,题目大致意思是:只用线和画圆输出“HELLO”,我写出的程序不能同时输出所有字母,哪位好心人可以帮我看看改正一下么
源码:
package test;

import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;

public class DrawHelloTest{
public static void main(String[] args){

    LetterH1 h=new LetterH1();      
    LetterE1 e=new LetterE1();
    LetterL1 l=new LetterL1();
    LetterO1 o=new LetterO1();

    JFrame frame=new JFrame();
    frame.getContentPane().add(h);
    frame.getContentPane().add(e);
    frame.getContentPane().add(l);
    frame.getContentPane().add(o);
    frame.setSize(600, 500);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
}

}

class LetterH1 extends JPanel{
public void paintComponent(Graphics g){
//g.setColor(Color.pink);
g.drawLine(50,50,50,20);
g.drawLine(70,50,70,20);
g.drawLine(50, 35, 70, 35);
}
}

class LetterE1 extends JPanel{
public void paintComponent(Graphics g){
//g.setColor(Color.pink);
g.drawLine(75,50,75,20);
g.drawLine(75,50,95,50);
g.drawLine(75, 35, 95, 35);
g.drawLine(75, 20, 95, 20);
}
}

class LetterL1 extends JPanel{
public void paintComponent(Graphics g){
//g.setColor(Color.pink);
g.drawLine(100,50,100,20);
g.drawLine(100,50,120,50);
g.drawLine(125,50,125,20);
g.drawLine(125,50,145,50);
}
}

class LetterO1 extends JPanel{
public void paintComponent(Graphics g){
//g.setColor(Color.pink);
Graphics2D g2 = (Graphics2D) g;
Rectangle2D rect = new Rectangle2D.Double(150, 20, 20, 30);
Ellipse2D ellipse = new Ellipse2D.Double();
ellipse.setFrame(rect);
g2.draw(ellipse);
}
}

  • 写回答

1条回答

  • lazy cat 2016-05-08 04:51
    关注

    frame那里设一下layout,就不会被覆盖了:

        frame.setLayout(new GridLayout());
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的