程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了为什么我的JComponent没有显示在背景JFrame的顶部?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决为什么我的JComponent没有显示在背景JFrame的顶部??

开发过程中遇到为什么我的JComponent没有显示在背景JFrame的顶部?的问题如何解决?下面主要结合日常开发的经验,给出你关于为什么我的JComponent没有显示在背景JFrame的顶部?的解决方法建议,希望对你解决为什么我的JComponent没有显示在背景JFrame的顶部?有所启发或帮助;

似乎在这里可以正常工作(在此SSCCE变种的代码中)。

工作代码

import java.awt.*;
import javax.swing.*;
import java.net.URL;

class CounterFrame extends JFrame {

    private static final long serialVersionUID = 1L;
    private MyPanel myComponent = new MyPanel();
    private JLabel contentPane;

    CounterFrame() {
        try {
            URL url = new URL("http://pscode.org/media/stromlo2.jpg");
            contentPane = new JLabel(new ImageIcon(url));
        } catch(Throwable t) {
            t.printstacktrace();
        }
        contentPane.setLayout(new GrIDBagLayout());
        setContentPane(contentPane);
        add(myComponent);
    }

    public static voID main(String[] args) {
        //Create the frame on the event dispatching thread
        SwingUtilitIEs.invokelater(new Runnable(){

            @OverrIDe
            public voID run() {
                CounterFrame rc = new CounterFrame();
                rc.setDefaultCloSEOperation(JFrame.disPOSE_ON_CLOSE);
                rc.pack();
                rc.setVisible(true);
            }

        });
    }
    }

    class MyPanel extends JPanel {

    private static final long serialVersionUID = 1L;
    private String target;
    private String raised = "200000";
    private Image background;

    public MyPanel() {
        setPreferredSize(new Dimension(200,100));
    }

    @OverrIDe
    protected voID paintComponent(Graphics g) {
        super.paintComponent(g);

        Graphics2D twoD = (Graphics2D) g;

        RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIAliASING,
                RenderingHints.VALUE_ANTIAliAS_ON);
        rh.put(RenderingHints.KEY_RENDERING,
                RenderingHints.VALUE_RENDER_QUAliTY);
        twoD.setRenderingHints(rh);

        twoD.setcolor(color.BLACK);

        twoD.drawString(raised,5, 90);
    }
}

我可以从中得出的唯一结论是:

找不到您的资源。 您需要学习基本的调试技巧。在这种情况下,具体来说是“检查每个步骤中正在发生的假设是否确实有效”。如下所示的“三级”语句应分解为3个语句,同时使用System.out.println()或调试器检查3个结果中的每一个。 调试不友好!

new JLabel(new ImageIcon(getClass()
        .getResource("background/2.jpg")));

解决方法

为什么我的JComponent没有显示在背景JFrame的顶部?

请检查以下代码:

class CounterFrame extends JFrame {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private MyPanel myComponent = new MyPanel();
    private JLabel contentPane = new JLabel(new ImageIcon(getClass()
            .getResource("background/2.jpg")));

    CounterFrame() {
        contentPane.setLayout(new GridBagLayout());
        setContentPane(contentPane);
        add(myComponent);
    }

    }

    class MyPanel extends JPanel {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private Font myFont;
    private String target;
    private String raised = "200000";
    private Image background;

    public MyPanel() {

    }

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);

        Graphics2D twoD = (Graphics2D) g;

        RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
        rh.put(RenderingHints.KEY_RENDERING,RenderingHints.VALUE_RENDER_QUALITY);
        twoD.setRenderingHints(rh);

        File f = new File("fonts/event.ttf");
        try {
            myFont = Font.createFont(Font.TRUETYPE_FONT,f);
            myFont = myFont.deriveFont(90f);
        } catch (FontFormatException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        twoD.setColor(Color.BLACK);
        twoD.setFont(myFont);

        twoD.drawString(raised,5,90);
    }

}

大佬总结

以上是大佬教程为你收集整理的为什么我的JComponent没有显示在背景JFrame的顶部?全部内容,希望文章能够帮你解决为什么我的JComponent没有显示在背景JFrame的顶部?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: