Java 使用组件将jlabel添加到jframe
我有两门课 我的主类创建了一个框架,我希望另一个类向其添加内容。arroudn告诉我应该使用组件来实现这一点,但是当我运行代码时,框架是空的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
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)
,除了没有。