首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java图形将不会显示

Java图形将不会显示
EN

Stack Overflow用户
提问于 2011-12-13 10:19:45
回答 2查看 4.4K关注 0票数 3

下面是我的代码:

代码语言:javascript
复制
package survival;
import javax.swing.*;
import java.awt.*;

public class Survival extends JFrame { 
    private static int applicationWidth = 1400;
    private static int applicationHeight = 900;  

    public Survival() {
        setTitle("Survival");
        setResizable(false);
        setSize(applicationWidth, applicationHeight);
        setVisible(true);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

    public void paint(Graphics g) {
        g.drawString("Test", 0, 0);
    }

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

为什么"Test“没有出现?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-13 10:30:21

您需要调用超类的paint()方法。(文章- Painting in AWT and Swing)

代码语言:javascript
复制
 public Survival() {
        setTitle("Survival");
        setResizable(false);
        setSize(applicationWidth, applicationHeight);
        setVisible(true);

        setDefaultCloseOperation(EXIT_ON_CLOSE);
        repaint();
    }

    public void paint(Graphics g) {
        super.paint(g);    
        g.drawString("Test", 120, 120); //change the co-odrinates
    }

覆盖JPanel的paintComponent。

代码语言:javascript
复制
 public Survival() {
        setTitle("Survival");
        setResizable(false);
        setSize(applicationWidth, applicationHeight);
        setVisible(true);
        add(new DrawPanel());
        setDefaultCloseOperation(EXIT_ON_CLOSE);
     }

   class DrawPanel extends JPanel
   {
    @Override
    protected  void paintComponent( Graphics g){
       g.drawString("Test", 220,220);
      }
   }
票数 2
EN

Stack Overflow用户

发布于 2011-12-13 10:25:04

请勿覆盖paint。无论何时自定义组件,都要覆盖paintComponent

示例-

代码语言:javascript
复制
@Override
protected final void paintComponent(final Graphics g){
    super.paintComponent(g);
    final Graphics gCopy = g.create(); // Prevents clobbering
    gCopy.drawString("Test", 0, 0);
    gCopy.dispose();
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8483574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档