Java 使用组件将jlabel添加到jframe

Java 使用组件将jlabel添加到jframe,java,swing,jframe,jlabel,Java,Swing,Jframe,Jlabel,我有两门课 我的主类创建了一个框架,我希望另一个类向其添加内容。arroudn告诉我应该使用组件来实现这一点,但是当我运行代码时,框架是空的 public static void main(String[] args) { // create frame JFrame frame = new JFrame(); final int FRAME_WIDTH = 800; final int FRAME_HEIGHT = 600; // set frame

我有两门课

我的主类创建了一个框架,我希望另一个类向其添加内容。arroudn告诉我应该使用组件来实现这一点,但是当我运行代码时,框架是空的

 public static void main(String[] args)
 {
    // create frame
    JFrame frame = new JFrame();
    final int FRAME_WIDTH = 800;
    final int FRAME_HEIGHT = 600;
    // set frame attributes
    frame.setSize(FRAME_WIDTH, FRAME_HEIGHT);
    frame.setTitle("My Frame");
    frame.setVisible(true);

    Component1 Com = new Component1();
    Component add = frame.add(Com);

}
我的组件类创建一个JLabel

public class Component1 extends JComponent {

   public void paintComponent()
   {
       JLabel label = new JLabel("<html>Some Text</html>");
   }
}

公共类组件1扩展了JComponent{
公共组件()
{
JLabel标签=新的JLabel(“某些文本”);
}
}
我没有得到任何编译错误,但是我的JFrame中没有得到任何文本

谁能解释我做错了什么

Chris

您需要添加
JLabel
。另外,最好扩展
JPanel
而不是
JComponent
,因为它有一个默认值,可以使任何添加的组件显示出来,而无需设置组件大小<代码>喷漆组件用于定制喷漆

public class Component1 extends JPanel {

   Component1() {
      JLabel label = new JLabel("<html>Some Text</html>");
      add(label);
   }
}

公共类组件1扩展了JPanel{
组件1(){
JLabel标签=新的JLabel(“某些文本”);
添加(标签);
}
}

无需创建新的
组件。只需调用
frame.getContentPane().add(label)
。并在此之前初始化标签。

在哪里添加JLable?
公共类组件1扩展JComponent{public void paintComponent(){JLabel label=new JLabel(“一些文本”);}
使用
JLabel
实例。在启动时将其文本设置为“”。稍后设置文本,它将变为可见。不过,作为一般提示,不要在..中创建对象。我正要说
paintComponent(Graphics)
,除了没有。