Java 自定义小部件未显示在JFrame上
我对JavaSwing和接口创建非常陌生。所以,我应该在JFrame上创建一个橙色正方形。所以,我试过这个Java 自定义小部件未显示在JFrame上,java,swing,Java,Swing,我对JavaSwing和接口创建非常陌生。所以,我应该在JFrame上创建一个橙色正方形。所以,我试过这个 import javax.swing.*; import java.awt.*; import java.awt.event.*; class Demo extends JPanel { public void paintComponent(Graphics g) { g.setColor(Color.orange); g.fillRect(20,
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Demo extends JPanel {
public void paintComponent(Graphics g) {
g.setColor(Color.orange);
g.fillRect(20,50,100,100);
}
}
public class Example implements ActionListener {
public void atom() {
Demo d = new Demo();
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400,200);
frame.setVisible(true);
}
public static void main(String[] args) {
Example e = new Example();
e.atom();
}
public void actionPerformed(ActionEvent e) {
}
}
但是广场没有出现,我找不到,为什么。谁能指引我 您忘记将d小部件添加到框架的内容窗格
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Demo extends JPanel {
public void paintComponent(Graphics g) {
g.setColor(Color.orange);
g.fillRect(20,50,100,100);
}
}
public class Example implements ActionListener {
public void atom() {
Demo d = new Demo();
JFrame frame = new JFrame();
frame.getContentPane().add(d); //
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400,200);
frame.setVisible(true);
}
public static void main(String[] args) {
Example e = new Example();
e.atom();
}
public void actionPerformed(ActionEvent e) {
}
}
您忘记将d小部件添加到框架的内容窗格
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Demo extends JPanel {
public void paintComponent(Graphics g) {
g.setColor(Color.orange);
g.fillRect(20,50,100,100);
}
}
public class Example implements ActionListener {
public void atom() {
Demo d = new Demo();
JFrame frame = new JFrame();
frame.getContentPane().add(d); //
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400,200);
frame.setVisible(true);
}
public static void main(String[] args) {
Example e = new Example();
e.atom();
}
public void actionPerformed(ActionEvent e) {
}
}
创建框架后,向其添加d面板:
frame.getContentPane().add(d);
请参阅本教程:创建框架后,向其添加d面板:
frame.getContentPane().add(d);
请参阅本教程:
请考虑阅读一两个教程。猜测不是学习编程的好办法。谢谢你。请考虑读一两个教程。猜测从来都不是学习编程的好方法。@HovercraftFullOfEels谢谢。非常感谢@sudsparrowhawk非常感谢@sudsparrowhawk