`
to_zoe_yang
  • 浏览: 138827 次
  • 性别: Icon_minigender_2
  • 来自: 01
社区版块
存档分类
最新评论

天气小工具 <四>

阅读更多
希望天气显示界面如下

我选择使用JList
自然JList中的数据就是我们一天的天气状况啦~
这就需要我们自定义ListCellRenderer然后使用setCellRenderer
最重要的是getListCellRendererComponent方法中的Object value
这是与我们的一天天气类对应的

public class MyListRenderer extends JPanel implements ListCellRenderer {

// private JList list = null;
private JLabel dayLabel = new JLabel();
private JPanel weatherPanel = new JPanel();
private JLabel baitianLabel = new JLabel("白天");
private JLabel hwLabel = new JLabel();
private JLabel htLabel = new JLabel();
private JLabel hwindLabel = new JLabel();
private JLabel hwindLevelLabel = new JLabel();
private JLabel yejianPanel = new JLabel("夜间");
private JLabel lwLabel = new JLabel();
private JLabel ltLabel = new JLabel();
private JLabel lwindLabel = new JLabel();
private JLabel lwindLevelLabel = new JLabel();

private Border selectedBorder = BorderFactory.createLineBorder(Color.ORANGE,
2);
private Border emptyBorder = BorderFactory.createEmptyBorder(1, 1, 1, 1);

public MyListRenderer() {
// this.list = list;
this.addMouseListener(this);
}

@Override
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {

Day day = (Day) value;
// String s = day.getDay() + "  "+day.getH_weather() + "  " + day.getLow() + "~" + day.getHigh();
// this.setText(s);
dayLabel.setText(day.getDay()+"日星期"+day.getWeek());
hwLabel.setText(day.getH_weather());
htLabel.setText(day.getHigh());
hwindLabel.setText("  "+day.getH_wind());
hwindLevelLabel.setText("  "+day.getH_wind_level());
lwLabel.setText(day.getH_weather());
ltLabel.setText(day.getLow());
lwindLabel.setText("  "+day.getL_wind());
lwindLevelLabel.setText("  "+day.getL_wind_level());

weatherPanel.setLayout(new GridLayout(2, 5));
weatherPanel.add(baitianLabel);
weatherPanel.add(hwLabel);
weatherPanel.add(htLabel);
weatherPanel.add(hwindLabel);
weatherPanel.add(hwindLevelLabel);
weatherPanel.add(yejianPanel);
weatherPanel.add(lwLabel);
weatherPanel.add(ltLabel);
weatherPanel.add(lwindLabel);
weatherPanel.add(lwindLevelLabel);

this.add(dayLabel, BorderLayout.WEST);
this.add(weatherPanel, BorderLayout.CENTER);
if (isSelected) {
setBorder(selectedBorder);
this.setOpaque(true);
this.setBackground(Color.GRAY);
} else {
setBorder(emptyBorder);
this.setOpaque(true);
this.setBackground(Color.WHITE);
}

return this;
}
}

JList类
public class WeatherList extends JList{

public WeatherList(){
this.setCellRenderer(new MyListRenderer());
}

public void setMyListData(Vector<Day> days){
this.setListData(days);
}
}

全部代码我先上传了
继续优化
分享到:
评论

相关推荐

    iDesktopCalendar

    我的桌面日历(iDesktopCalendar)是一款简洁小巧的桌面提醒工具软件,&lt;br&gt;可以提供日期、时间、邮件以及天气等提醒功能。&lt;br&gt;&lt;br&gt;软件特色:&lt;br&gt;--电子日历可以显示西历和阴历,以及二十四节气和十二生肖。&lt;br&gt; 可以...

    数据分析指标.pptx

    Page&lt;6&gt; 常用KPI指标: 一、销售 1、售罄率 2、动销率 3、竞争力 4、回款率 5、销售贡献率 二、财务 1、盈亏平衡点 2、毛利率 3、净利率 三、铺货 1、新品铺货率 2、网点铺货率 3、新老品占比 四、店铺 1、人效 2、...

    微信小程序开发前端技术实现天气预报页面

    四、在微信开发者工具的顶部菜单栏中选择“项目” -&gt; “设置”。 五、在设置页面中,填写你的AppID(你需要在微信公众平台上注册和获取)。 六、点击微信开发者工具中的“编译”按钮,它将会编译并预览你的小程序...

    简单的python查询天气代码

    天气查询小工具 请输入查询的城市:(汉字吆)广州 当前位置:广州 温馨提示:昼夜温差大,风力较强,易发生感冒,请注意适当增减衣服,加强自我防护避免感冒。 当前温度:22℃ 昨天:28日星期四 风力:&lt;3级 风向:...

    C# 电子通讯录 含IP查询 天气查询 QQ聊天

    1 开发工具:Microsoft Visual Studio 2005, Microsoft SQL Server 2005 四 使用手册 (1) 初始用户登录名和密码相同,登录名用combox控件和tb_User的username绑定,可直接选择。 (2) 文件说明: \Debug\Backup\:...

    (完整)Android手机天气预报项目报告.doc

    (4) 详细界面:在显示出"显示界面"上所有信息的同时用列表的形式显示今后四天的天气情 况。 2。2 技术框架设计 2.2.1 开发环境 Android的上层应用程序是用Java语言开发的,一般情况下是基于Dalvik虚拟机的, 所以...

    Android手机天气预报项目报告.docx

    (4) 详细界面:在显示出"显示界面"上所有信息的同时用列表的形式显示今后四天的天气情况。 2.2 技术框架设计 2.2.1 开发环境 Android的上层应用程序是用Java语言开发的,一般情况下是基于Dalvik虚拟机的,所以...

    天涯易栈网吧桌面工具 v10.1.zip

    特性四:网吧公告显示 公告内容会给你网吧增加不少的活动选择!让网吧再添活力! 特性二:定时贴图插图 壁纸美化给力功能!让桌面显示节日图标、广告等实用素材! 特性六:图标背景功能 支持所有大小的图标,仅需...

    python小程序基于Jupyter实现天气查询的方法

    天气查询python小程序第0步:导入工具库第一步:生成查询天气的url链接第二步:访问url链接,解析服务器返回的json数据,变成python的字典数据第三步:对字典进行索引,获取气温、风速、风向等天气信息第四步:遍历...

    雨晴天气预报v3.0桌面安装版

    功能介绍: 1、显示时间日期及四天的天气状况,如晴朗或多云、风向指标、温差等信息 2、工具可自动检测出计算机所在区域,也可自定义区域和更新间隔 3、在软件最下方提供有安全卫士、电视直播、综合搜索、淘宝特价...

    飞雪桌面日历 2.62 绿色版

    集合超多功能:日历、月历、世界时钟、倒计时时钟、定时关机、备忘录、节日生日定制、系统热键、光驱控制、网络校时、壁纸切换、语音报时、网络收音机、电池工具、天气预报等。 内含从公元1580-5000年的阴阳历,可...

    基于Jupyter实现天气查询python小程序

    天气查询python小程序第0步:导入工具库第一步:生成查询天气的url链接第二步:访问url链接,解析服务器返回的json数据,变成python的字典数据第三步:对字典进行索引,获取气温、风速、风向等天气信息第四步:遍历...

    Android手机天气预报项目报告(1).docx

    (4) 详细界面:在显示出"显示界面"上所有信息的同时用列表的形式显示今后四天的天气情况。 2.2 技术框架设计 2.2.1 开发环境 Android的上层应用程序是用Java语言开发的,一般情况下是基于Dalvik虚拟机的,所以...

    天涯易栈网吧桌面工具v10.4免费绿色版

    天涯易栈网吧桌面工具是一款极速、超小、稳定、占用资源超低、绿色便携、免费、无广告的桌面软件,让您的桌面可以更加绚丽... 特性三:天气预报显示 3天的详细天气情况任! 特性四:网吧公告显示 公告内容会给你网吧增

    Android手机天气预报项目报告(2).docx

    (4) 详细界面:在显示出"显示界面"上所有信息的同时用列表的形式显示今后四天的天气情况。 2.2 技术框架设计 2.2.1 开发环境 Android手机天气预报项目报告(2)全文共14页,当前为第2页。Android的上层应用程序是用...

    R的极客理想__工具篇

    最后介绍完整的R包开发流程,并提供每日中国天气的应用案例和游戏开发的案例,帮助读者创建自己的R包,打开R语言产品化的思路。书中介绍了多个场景案例,不仅从学术的角度完成了模型设计,而且用计算机的方法实现...

    Watch系列表盘设计工具

    亮屏表盘定义:亮屏表盘为常规表盘由背景图、时间(时 分 秒)、日期(月 日 星期)、控件(天气、步数等)四种类型组成。 使用场景:亮屏表盘在抬腕时或者点击表盘时查看时间和数据功能。 熄屏表盘定义:熄屏表盘...

    9.30]Spb Mobile Shell V3.5 中文版

    *小工具集成SPB Weather 和 SPB Traveler *改进"选择快捷方式对话框" 个人使用感受:个人感觉,仅供参考,如有雷同,不甚荣幸。 我一直不用这个,一直用马尼拉,感觉马尼拉好看一些,这个图标啊,功能啊,是挺华丽...

    senlon实用查询工具大全 v2014 本地数据库版.zip

    万年历查询、手机号码归属地查询、免费在线翻译、手机话费查询、生肖属相查询、黄金价格走势图、股市行情查询、阿拉伯数字译成英文、省市自治区简称、二十四节气表、女性预产期自测、常用电话号码查询、定时关机工具...

Global site tag (gtag.js) - Google Analytics