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/