步骤 1 : 监听器ToolBarListener 步骤 2 : 在主面板中增加监听器 步骤 3 : 效果 步骤 4 : 独立的监听器与面板单例化
增值内容,请先登录
完整的J2SE桌面项目,从无到有完整的开发流程,涵盖全部52个知识点,154个开发步骤, 一共36个讲解视频,累计时长3小时10分59秒,大小1.94G,充实J2SE项目经验,为简历加上一个有吸引力的砝码
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package gui.listener;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import gui.panel.BackupPanel;
import gui.panel.CategoryPanel;
import gui.panel.ConfigPanel;
import gui.panel.SpendPanel;
import gui.panel.MainPanel;
import gui.panel.RecordPanel;
import gui.panel.RecoverPanel;
import gui.panel.ReportPanel;
public class ToolBarListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
MainPanel p = MainPanel.instance;
JButton b = (JButton) e.getSource();
if (b == p.bReport)
p.workingPanel.show(ReportPanel.instance);
if (b == p.bCategory)
p.workingPanel.show(CategoryPanel.instance);
if (b == p.bSpend)
p.workingPanel.show(SpendPanel.instance);
if (b == p.bRecord)
p.workingPanel.show(RecordPanel.instance);
if (b == p.bConfig)
p.workingPanel.show(ConfigPanel.instance);
if (b == p.bBackup)
p.workingPanel.show(BackupPanel.instance);
if (b == p.bRecover)
p.workingPanel.show(RecoverPanel.instance);
}
}
增值内容,请先登录
完整的J2SE桌面项目,从无到有完整的开发流程,涵盖全部52个知识点,154个开发步骤, 一共36个讲解视频,累计时长3小时10分59秒,大小1.94G,充实J2SE项目经验,为简历加上一个有吸引力的砝码
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package gui.panel;
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JToolBar;
import gui.listener.ToolBarListener;
import util.CenterPanel;
import util.GUIUtil;
public class MainPanel extends JPanel {
static {
GUIUtil.useLNF();
}
public static MainPanel instance = new MainPanel();
public JToolBar tb = new JToolBar();
public JButton bSpend = new JButton();
public JButton bRecord = new JButton();
public JButton bCategory = new JButton();
public JButton bReport = new JButton();
public JButton bConfig = new JButton();
public JButton bBackup = new JButton();
public JButton bRecover = new JButton();
public CenterPanel workingPanel;
private MainPanel() {
GUIUtil.setImageIcon(bSpend, "home.png", "消费一览");
GUIUtil.setImageIcon(bRecord, "record.png", "记一笔");
GUIUtil.setImageIcon(bCategory, "category2.png", "消费分类");
GUIUtil.setImageIcon(bReport, "report.png", "月消费报表");
GUIUtil.setImageIcon(bConfig, "config.png", "设置");
GUIUtil.setImageIcon(bBackup, "backup.png", "备份");
GUIUtil.setImageIcon(bRecover, "restore.png", "恢复");
tb.add(bSpend);
tb.add(bRecord);
tb.add(bCategory);
tb.add(bReport);
tb.add(bConfig);
tb.add(bBackup);
tb.add(bRecover);
tb.setFloatable(false);
workingPanel = new CenterPanel(0.8);
setLayout(new BorderLayout());
add(tb, BorderLayout.NORTH);
add(workingPanel, BorderLayout.CENTER);
addListener();
}
private void addListener() {
ToolBarListener listener = new ToolBarListener();
bSpend.addActionListener(listener);
bRecord.addActionListener(listener);
bCategory.addActionListener(listener);
bReport.addActionListener(listener);
bConfig.addActionListener(listener);
bBackup.addActionListener(listener);
bRecover.addActionListener(listener);
}
public static void main(String[] args) {
GUIUtil.showPanel(MainPanel.instance, 1);
}
}
增值内容,请先登录
完整的J2SE桌面项目,从无到有完整的开发流程,涵盖全部52个知识点,154个开发步骤, 一共36个讲解视频,累计时长3小时10分59秒,大小1.94G,充实J2SE项目经验,为简历加上一个有吸引力的砝码
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
增值内容,请先登录
完整的J2SE桌面项目,从无到有完整的开发流程,涵盖全部52个知识点,154个开发步骤, 一共36个讲解视频,累计时长3小时10分59秒,大小1.94G,充实J2SE项目经验,为简历加上一个有吸引力的砝码
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。
问答区域
2022-02-21
请问这个项目可以作为毕设吗
2020-12-21
@how2j 求站长翻牌:点击工具栏按钮切换功能面板反应极慢
2 个答案
how2j 跳转到问题位置 答案时间:2020-12-26 如果自己写的很慢,可能是因为哪里代码进行了多重循环导致的。 可以看看站长的可运行项目,比较一下,看看自己哪里没有写对。
糊涂账的群是:
635196623
win9斩华雄 跳转到问题位置 答案时间:2020-12-22 还有,我看不到一本糊涂账学员沟通群呢
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2020-02-09
监听响应中添加面板信息更新
2019-04-19
虽然是跟随老师做的但是做到了这一步真的有点开心!
2019-03-05
在做html中的标签时,需要hide(),show()。这里不需要么?
提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 2 条以前的提问,请 点击查看
提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
|