how2j.cn

下载区
文件名 文件大小
images.rar 42k

工具版本兼容问题
工具栏用于存放常用的按钮


本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频



4分25秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)



步骤 1 : 工具栏   
步骤 2 : 给按钮设置提示信息   
步骤 3 : 禁止工具栏拖动   

工具栏
package gui; import java.awt.BorderLayout; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JToolBar; public class TestGUI { public static void main(String[] args) { JFrame f = new JFrame("LoL"); f.setSize(400, 300); f.setLocation(200, 200); // 菜单 addMenu(f); // 工具栏 JToolBar tb = new JToolBar(); // 为工具栏增加按钮 JButton b1 = new JButton(new ImageIcon("e:/project/j2se/1.jpg")); JButton b2 = new JButton(new ImageIcon("e:/project/j2se/2.jpg")); JButton b3 = new JButton(new ImageIcon("e:/project/j2se/3.jpg")); JButton b4 = new JButton(new ImageIcon("e:/project/j2se/4.jpg")); JButton b5 = new JButton(new ImageIcon("e:/project/j2se/5.jpg")); JButton b6 = new JButton(new ImageIcon("e:/project/j2se/6.jpg")); tb.add(b1); tb.add(b2); tb.add(b3); tb.add(b4); tb.add(b5); tb.add(b6); // 把工具栏放在north的位置 f.setLayout(new BorderLayout()); f.add(tb, BorderLayout.NORTH); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); } private static void addMenu(JFrame f) { JMenuBar mb = new JMenuBar(); JMenu mHero = new JMenu("英雄"); JMenu mItem = new JMenu("道具"); JMenu mWord = new JMenu("符文"); JMenu mSummon = new JMenu("召唤师"); JMenu mTalent = new JMenu("天赋树"); // 菜单项 mHero.add(new JMenuItem("近战-Warriar")); mHero.add(new JMenuItem("远程-Range")); mHero.add(new JMenuItem("物理-physical")); mHero.add(new JMenuItem("坦克-Tank")); mHero.add(new JMenuItem("法系-Mage")); mHero.add(new JMenuItem("辅助-Support")); mHero.add(new JMenuItem("打野-Jungle")); mHero.add(new JMenuItem("突进-Charge")); mHero.add(new JMenuItem("男性-Boy")); mHero.add(new JMenuItem("女性-Girl")); mb.add(mHero); mb.add(mItem); mb.add(mWord); mb.add(mSummon); mb.add(mTalent); f.setJMenuBar(mb); } }
步骤 2 :

给按钮设置提示信息

edit edit
当鼠标放在按钮上的时候会出现提示
给按钮设置提示信息
package gui; import java.awt.BorderLayout; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JToolBar; public class TestGUI { public static void main(String[] args) { JFrame f = new JFrame("LoL"); f.setSize(400, 300); f.setLocation(200, 200); addMenu(f); JToolBar tb = new JToolBar(); JButton b1 = new JButton(new ImageIcon("e:/project/j2se/1.jpg")); JButton b2 = new JButton(new ImageIcon("e:/project/j2se/2.jpg")); JButton b3 = new JButton(new ImageIcon("e:/project/j2se/3.jpg")); JButton b4 = new JButton(new ImageIcon("e:/project/j2se/4.jpg")); JButton b5 = new JButton(new ImageIcon("e:/project/j2se/5.jpg")); JButton b6 = new JButton(new ImageIcon("e:/project/j2se/6.jpg")); tb.add(b1); tb.add(b2); tb.add(b3); tb.add(b4); tb.add(b5); tb.add(b6); // 给按钮设置提示信息 b1.setToolTipText("坑爹英雄"); // 把工具栏放在north的位置 f.setLayout(new BorderLayout()); f.add(tb, BorderLayout.NORTH); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); } private static void addMenu(JFrame f) { JMenuBar mb = new JMenuBar(); JMenu mHero = new JMenu("英雄"); JMenu mItem = new JMenu("道具"); JMenu mWord = new JMenu("符文"); JMenu mSummon = new JMenu("召唤师"); JMenu mTalent = new JMenu("天赋树"); // 菜单项 mHero.add(new JMenuItem("近战-Warriar")); mHero.add(new JMenuItem("远程-Range")); mHero.add(new JMenuItem("物理-physical")); mHero.add(new JMenuItem("坦克-Tank")); mHero.add(new JMenuItem("法系-Mage")); mHero.add(new JMenuItem("辅助-Support")); mHero.add(new JMenuItem("打野-Jungle")); mHero.add(new JMenuItem("突进-Charge")); mHero.add(new JMenuItem("男性-Boy")); mHero.add(new JMenuItem("女性-Girl")); mb.add(mHero); mb.add(mItem); mb.add(mWord); mb.add(mSummon); mb.add(mTalent); f.setJMenuBar(mb); } }
步骤 3 :

禁止工具栏拖动

edit edit
默认情况下 工具栏可以通过鼠标拖动

setFloatable(false);

可以禁止鼠标拖动功能
禁止工具栏拖动
package gui; import java.awt.BorderLayout; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JToolBar; public class TestGUI { public static void main(String[] args) { JFrame f = new JFrame("LoL"); f.setSize(400, 300); f.setLocation(200, 200); addMenu(f); JToolBar tb = new JToolBar(); JButton b1 = new JButton(new ImageIcon("e:/project/j2se/1.jpg")); JButton b2 = new JButton(new ImageIcon("e:/project/j2se/2.jpg")); JButton b3 = new JButton(new ImageIcon("e:/project/j2se/3.jpg")); JButton b4 = new JButton(new ImageIcon("e:/project/j2se/4.jpg")); JButton b5 = new JButton(new ImageIcon("e:/project/j2se/5.jpg")); JButton b6 = new JButton(new ImageIcon("e:/project/j2se/6.jpg")); tb.add(b1); tb.add(b2); tb.add(b3); tb.add(b4); tb.add(b5); tb.add(b6); b1.setToolTipText("坑爹英雄"); // 禁止工具栏拖动 tb.setFloatable(false); // 把工具栏放在north的位置 f.setLayout(new BorderLayout()); f.add(tb, BorderLayout.NORTH); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); } private static void addMenu(JFrame f) { JMenuBar mb = new JMenuBar(); JMenu mHero = new JMenu("英雄"); JMenu mItem = new JMenu("道具"); JMenu mWord = new JMenu("符文"); JMenu mSummon = new JMenu("召唤师"); JMenu mTalent = new JMenu("天赋树"); // 菜单项 mHero.add(new JMenuItem("近战-Warriar")); mHero.add(new JMenuItem("远程-Range")); mHero.add(new JMenuItem("物理-physical")); mHero.add(new JMenuItem("坦克-Tank")); mHero.add(new JMenuItem("法系-Mage")); mHero.add(new JMenuItem("辅助-Support")); mHero.add(new JMenuItem("打野-Jungle")); mHero.add(new JMenuItem("突进-Charge")); mHero.add(new JMenuItem("男性-Boy")); mHero.add(new JMenuItem("女性-Girl")); mb.add(mHero); mb.add(mItem); mb.add(mWord); mb.add(mSummon); mb.add(mTalent); f.setJMenuBar(mb); } }


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 JAVA 中级-图形界面-工具栏 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 982790551
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图