JAVA JLabel自定义子类无法显示

 1 import java.awt.*;
 2 import java.util.Scanner;
 3
 4 import javax.swing.*;
 5
 6 public class Test_16_13 extends JFrame{
 7
 8 public Test_16_13(){
 9     ImageIcon im = new ImageIcon("image/slide1.jpg");
10     String s = "jlabel_mine";
11     JLabel1 j1 = new JLabel1(s);
12     add(j1);
13         //add(new JLabel("JLabel标签"));
14 }
15
16 public static void  main(String[] args){
17     Test_16_13 frame = new Test_16_13();
18     frame.setSize(800, 600);
19     frame.setTitle("Exercise15_8");
20     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
21     frame.setLocationRelativeTo(null); // Center the frame
22     frame.setVisible(true);
23 }
24 class JLabel1 extends JLabel{
25     private ImageIcon ic;
26     private String s;
27     public JLabel1(ImageIcon ic){
28         this.ic =  ic;
29     }
30     public JLabel1(String s){
31         this.s = s;
32     }
33     }
34 }

代码如上,我在主类Test_16_13里面自定义了一个JLabel子类JLabel1,然后在JFrame的构造函数中添加,但是无法在JFrame里面显示,请问是为什么?

解答:

刚才把子类和父类的教程又看了一遍,想了下,原来我新建子类有一个最大的问题。那就是没有重载父类的构造函数。我的构造函数都是使用的自定义的构造函数。
所以,我的子类不能被认可。下面是我修改的JLabel1的构造函数:

 class JLabel1 extends JLabel{
//      private ImageIcon ic;
//      private String s;
        public JLabel1(ImageIcon ic){
            super(ic);
        }
        public JLabel1(String s){
//          this.s = s;
            super(s);
        }
        }
  
时间: 2024-08-29 09:41:50

JAVA JLabel自定义子类无法显示的相关文章

自定义圆形滚动条(在自定义标题栏中显示)--利用开源项目ProgressWheel(二)

本篇是ProgressWheel使用的第二篇(尾篇),功能是在自定义标题栏中显示ProgressWheel滚动条. 本篇引用的开源项目依然是ProgressWheel,地址: https://github.com/Todd-Davies/ProgressWheel 本篇效果图: 自定义滚动条(在自定义标题栏中显示)的实现: 1)activity_progress_wheel_test. xml: <RelativeLayout xmlns:android="http://schemas.a

Java中自定义注解

前言 随着springboot的流行,以前基于XML的spring配置用的越来越少,JavaConfig形式使用的越来越多,类似于: @Configuration public class AppConfig { @Bean(name="helloBean") public HelloWorld helloWorld() { return new HelloWorldImpl(); } } 可以看出更多的是基于注解(Annotation)实现的,包括springboot的入口类**Ap

登录界面、AutoUtils 屏幕适配、自定义Edittext(显示密码可见和一键清空)和 TextInputLayout的使用。

登录界面: AutoUtils自动屏幕适配: AutoUtils屏幕适配使用的方法 : 1.将AutoUtils类复制到要适配的项目中: 2.在程序的入口(清单文件filter):super.onCreate(savedInstanceState);//屏幕适配,这里是以720*1280分辨率为基准的适配AutoUtils.setSize(this, false, 720, 1280); * 这里我们UI是以1920*1280分辨率做图的,并且是横屏显示:AutoUtils.setSize(th

java 线程 原子类相关操作示例 thinking in java4 目录21.3.4

java 线程  原子类相关操作示例 package org.rui.thread.volatiles; import java.util.Timer; import java.util.TimerTask; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.atomic.AtomicInteger; /** * 原子类,

Java 将自定义的对象作为HashMap的key

需要继承Map的equals函数和hashCode函数 package com.category; import java.util.HashMap; public class GenCategoryLevelData { private static HashMap<Category, Integer> categoryLevel = new HashMap<Category, Integer>(); /** * @param args */ public static void

在Eclipse中JFrame自定义图标可以显示,但是导出JAR之后无法显示

在我的项目中,一开始我使用这种方式构造图片路径,然后将其设置到JFrame中即可以显示自定义图标 String imagePath = System.getProperty("user.dir") + "/image/icon.png";// 构造图片的路径 Image imageIcon = Toolkit.getDefaultToolkit().getImage(imagePath); jFrame.setIconImage(imageIcon); 项目路径如下

java 线程 原子类相关操作演示样例 thinking in java4 文件夹21.3.4

java 线程  原子类相关操作演示样例 package org.rui.thread.volatiles; import java.util.Timer; import java.util.TimerTask; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.atomic.AtomicInteger; /** * 原子类

java高仿微博日期显示格式化,日期辅助工具类

原文:java高仿微博日期显示格式化,日期辅助工具类 源代码下载地址:http://www.zuidaima.com/share/1550463377902592.htm 仿新浪微博日期格式化工具类: 例如: 1. 刚刚 2. xx分钟前 3. hh小时前 4. 今天 HH:mm 5. 昨天 HH:mm 6. 前天 HH:mm 7. 上个月 yyyy-MM-dd HH:mm 8. 去年 yyyy-MM-dd HH:mm 9. 前年 yyyy-MM-dd HH:mm 今天写的代码,结构还很粗糙,只

java Annotation 自定义实例

Defining annotations Here is the definition of the annotation above. You can see that annotation definitions look a lot like interface definitions. In fact, they compile to class files like any other Java interface: -------------------------------首先定