Java JFrame中不需要的JPanel边框
我试图用一个JPanel填充JFrame并给它上色,但由于某些原因,我在右下角的边缘上得到了一个边框 我的代码:Java JFrame中不需要的JPanel边框,java,swing,awt,Java,Swing,Awt,我试图用一个JPanel填充JFrame并给它上色,但由于某些原因,我在右下角的边缘上得到了一个边框 我的代码: public class Main extends JFrame { public MyPanel myPanel = new MyPanel(); public static void main(String args[]) { Main main = new Main(); main.init(); }
public class Main extends JFrame {
public MyPanel myPanel = new MyPanel();
public static void main(String args[])
{
Main main = new Main();
main.init();
}
public void init()
{
this.setSize(300,400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setContentPane(myPanel);
this.setVisible(true);
}
@Override
public void paint(Graphics g)
{
myPanel.paintComponents(g);
}
class MyPanel extends JPanel
{
@Override
public void paintComponents(Graphics g)
{
g.fillRect(0, 0, getWidth(), getHeight());
}
}
}
显示:
使用此方法会使油漆链短路
@Override
public void paint(Graphics g) {
myPanel.paintComponents(g);
}
这并不是真的做任何有用的事情,所以你可以删除它。您还需要覆盖MyPanel
中的paintComponents
而不是paintComponents
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.fillRect(0, 0, getWidth(), getHeight());
}
旁白:
- 您只需创建一个面板并调用
即可获得此功能setBackground
@Override
public void paint(Graphics g) {
myPanel.paintComponents(g);
}
这并不是真的做任何有用的事情,所以你可以删除它。您还需要覆盖MyPanel
中的paintComponents
而不是paintComponents
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.fillRect(0, 0, getWidth(), getHeight());
}
旁白:
- 您只需创建一个面板并调用
即可获得此功能setBackground
@Override
public void paint(Graphics g) {
myPanel.paintComponents(g);
}
这并不是真的做任何有用的事情,所以你可以删除它。您还需要覆盖MyPanel
中的paintComponents
而不是paintComponents
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.fillRect(0, 0, getWidth(), getHeight());
}
旁白:
- 您只需创建一个面板并调用
即可获得此功能setBackground
@Override
public void paint(Graphics g) {
myPanel.paintComponents(g);
}
这并不是真的做任何有用的事情,所以你可以删除它。您还需要覆盖MyPanel
中的paintComponents
而不是paintComponents
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.fillRect(0, 0, getWidth(), getHeight());
}
旁白:
- 您只需创建一个面板并调用
即可获得此功能setBackground