java方法名上出现横线代表该方法已经过时!所以只要使用一个过时的方法,该方法名上就能出来横线。最简单的就是使用Data对象的toLocaleString()方法,即new Data().toLocaleString()获取本地格式的时间,这个方法已经被标记为过时方法!
创新互联建站主营元江县网站建设的网络公司,主营网站建设方案,重庆App定制开发,元江县h5成都小程序开发搭建,元江县网站营销推广欢迎元江县等地区企业咨询
__ __
|__| . | |__
|__| . | |__|
如上面这样的一个数字8,是所有线条显示的情况,其他数字均可如上组合,统计下来数字共由三行字符组成,最上面一行、中间一行、和下面一行,取时间比较容易,剩下就是输出打印的问题,而打印时每个数字进行转换,分别对应三行字串即可。可以写个类ClockNumber.java用于转换数字和三行字串。
public class ClockNumber {
public Character i;
public String top; //上面一行
public String mid; //中间一行
public String bot; //下面一行
//构造函数
public ClockNumber(Character i){
this.i=i;
}
public String getTop() {
swich(i){
case '1':
return " ";
case '2':
return " __ ";
//...以此类推,按不同数字上面不同的第一行给出字串即可。
// 别忘了实现冒号的显示
case ':':
return " ";
}
// 参考上面方法再实现getMid()和 getBot两个函数。
//...
}
另外,实现一下中间的分隔字串,两个点的方法。
打印时,分别输出三行即可:
如:
public class ClockView {
public String time;
public String topLine;
public String midLine;
public String botLine;
public ClockView(String time){
this.time = time;
}
public String getTopLine(){
//此处示例,即Charactor
for(int i=0; itime.length; i++){
Character n = time.charAt(i);
ClockNumber cn = new ClockNumber(n);
topLine += cn.top; // 将上面一行相应的字串连起来。
}
}
//...以此类推,完成midLine和botLine的get方法。
//测试示例:
public static void main(String[] args) {
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
String time= sdf.format(now); //类似:"19:24:58";
ClockView cv = new ClockView(time);
System.out.println(cv.topLine);
System.out.println(cv.midLine);
System.out.println(cv.botLine);
//ok, 搞定了!
}
}
方法中出现横线,是因为该方法已经不建议被使用,应该有替代的方案
你说的show()方法是不是JFrame中的show()方法呢,可以用setVisible(true)这个方法来替代
祝你好运!