java - 没有得到java程序的输出

标签 java

package com.gautam.notepad;

import javax.swing.*;    

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;
public class main {

    public static void main(String[] args) {
        panel1 p =new panel1();  // This is the panel1 class object
        new App("NOTEPAD",p);    // i'm trying to pass panel1 object



    }
}


class App extends JFrame {

    public App(String title,panel1 panel)
    {
        this.setTitle(title);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setVisible(true);
        this.setLocationRelativeTo(null);
        this.setSize(800, 640);
        this.setLayout(new FlowLayout());
        this.add(panel);
        this.setResizable(false);
    }
}

class panel1 extends JPanel{

    public void paintComponent(Graphics g)
    {
        g.setColor(Color.green);
        g.fillRect(0, 0, this.getWidth(), this.getHeight());



    }
}

它工作正常,但在paintComponent方法中它是g.fillRect()方法 不起作用,它没有绘制整个屏幕,只在屏幕中间绘制了小矩形。这段代码有什么问题

最佳答案

您在 this.setLayout(new FlowLayout()); 行上遇到问题,只需将其删除即可。默认情况下,它将使用您需要的 BorderLayout。

关于java - 没有得到java程序的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37985544/

相关文章:

java - 使用 sql 连接 swings

java - 如何在循环中使用此设置方法

java - 运行代理时内存不足

java - 为什么依赖注入(inject)仅适用于 Jersey 的资源类

java - Swing 组件之间的新行

java - 在 for 循环内使用 Scanner 进行系统输入

java - 需要帮助从 Arraylist 中删除并删除

java - 通用 getter 方法

java - 突出显示 JTable 的列标题

java - Android Studio 多个 dex 文件定义