java在线聊天项目 swt可视化窗口Design 重新设计好友列表窗口 增加菜单栏
2018-01-01 00:43
676 查看
增加的菜单栏效果图如下:
eclipse 中调整到 swt的design视图下
控件区域选择Menu Controls
将Menu Bar拖动到窗口标题栏
将Cascaded Menu拖动到Menu Bar
依次将多个Menu Item加入到New SubMenu
Separator是分隔符
也可以再放入Cascaded Menu级联菜单
好友列表窗口的代码如下:
eclipse 中调整到 swt的design视图下
控件区域选择Menu Controls
将Menu Bar拖动到窗口标题栏
将Cascaded Menu拖动到Menu Bar
依次将多个Menu Item加入到New SubMenu
Separator是分隔符
也可以再放入Cascaded Menu级联菜单
好友列表窗口的代码如下:
package com.swift.frame; import java.awt.BorderLayout; import java.awt.Component; import java.awt.Dimension; import java.awt.EventQueue; import java.awt.FlowLayout; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JPopupMenu; import javax.swing.JTabbedPane; import javax.swing.SwingConstants; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; public class 4000 FriendsDialog extends JDialog { public static void main(String args[]) { JFrame.setDefaultLookAndFeelDecorated(true); JDialog.setDefaultLookAndFeelDecorated(true); try { UIManager.setLookAndFeel("javax.swing.plaf.nimbus.NimbusLookAndFeel"); } catch (ClassNotFoundException e1) { e1.printStackTrace(); } catch (InstantiationException e1) { e1.printStackTrace(); } catch (IllegalAccessException e1) { e1.printStackTrace(); } catch (UnsupportedLookAndFeelException e1) { e1.printStackTrace(); } EventQueue.invokeLater(new Runnable() { public void run() { try { FriendsDialog dialog = new FriendsDialog(); dialog.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); dialog.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } public FriendsDialog() { super(); setTitle("飞燕聊天"); setBounds(100, 100, 247, 581); final JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); getContentPane().add(panel, BorderLayout.NORTH); final JLabel label = new JLabel(new ImageIcon("Images/logo.jpg")); label.setText("New JLabel"); panel.add(label, BorderLayout.WEST); label.setPreferredSize(new Dimension(74,74)); final JPanel panel_1 = new JPanel(); panel_1.setLayout(new BorderLayout()); panel.add(panel_1, BorderLayout.CENTER); final JLabel advancingSwiftLabel = new JLabel(); advancingSwiftLabel.setText("Advancing Swift"); panel_1.add(advancingSwiftLabel, BorderLayout.CENTER); final JLabel neverWasterLabel = new JLabel(); neverWasterLabel.setText("Never waste time any more"); panel_1.add(neverWasterLabel, BorderLayout.SOUTH); final JPanel panel_2 = new JPanel(); panel_2.setLayout(new BorderLayout()); getContentPane().add(panel_2, BorderLayout.SOUTH); final JPanel panel_3 = new JPanel(); final FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FlowLayout.LEFT); panel_3.setLayout(flowLayout); panel_2.add(panel_3); final JButton button = new JButton(); panel_3.add(button); button.setHorizontalTextPosition(SwingConstants.LEFT); button.setHorizontalAlignment(SwingConstants.LEFT); button.setText("设置"); final JButton button_1 = new JButton(); panel_3.add(button_1); button_1.setText("查找"); final JPanel panel_4 = new JPanel(); panel_2.add(panel_4, BorderLayout.EAST); final JButton button_2 = new JButton(); panel_4.add(button_2); button_2.setText("退出"); final JTabbedPane tabbedPane = new JTabbedPane(); getContentPane().add(tabbedPane, BorderLayout.CENTER); final JPanel panel_5 = new JPanel(); tabbedPane.addTab("好友列表", null, panel_5, null); final JPanel panel_6 = new JPanel(); tabbedPane.addTab("群聊", null, panel_6, null); final JPanel panel_7 = new JPanel(); tabbedPane.addTab("聊天记录", null, panel_7, null); final JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); final JMenu menu = new JMenu(); menu.setText("操作"); menuBar.add(menu); final JMenuItem newItemMenuItem = new JMenuItem(); newItemMenuItem.setText("设置"); menu.add(newItemMenuItem); final JMenuItem newItemMenuItem_1 = new JMenuItem(); newItemMenuItem_1.setText("空间"); menu.add(newItemMenuItem_1); final JMenuItem newItemMenuItem_2 = new JMenuItem(); newItemMenuItem_2.setText("邮箱"); menu.add(newItemMenuItem_2); final JMenu menu_1 = new JMenu(); menu_1.setText("会员"); menu.add(menu_1); final JMenuItem newItemMenuItem_3 = new JMenuItem(); newItemMenuItem_3.setText("会员官网"); menu_1.add(newItemMenuItem_3); final JMenuItem newItemMenuItem_4 = new JMenuItem(); newItemMenuItem_4.setText("会员专区"); menu_1.add(newItemMenuItem_4); menu.addSeparator(); final JMenu menu_2 = new JMenu(); menu_2.setText("安全"); menu.add(menu_2); final JMenuItem newItemMenuItem_5 = new JMenuItem(); newItemMenuItem_5.setText("紧急冻结"); menu_2.add(newItemMenuItem_5); final JMenuItem newItemMenuItem_6 = new JMenuItem(); newItemMenuItem_6.setText("密码保护"); menu_2.add(newItemMenuItem_6); final JMenuItem newItemMenuItem_7 = new JMenuItem(); newItemMenuItem_7.setText("退出"); menu.add(newItemMenuItem_7); final FlowLayout flowLayout_1 = new FlowLayout(); flowLayout_1.setAlignment(FlowLayout.RIGHT); } /** * WindowBuilder generated method.<br> * Please don't remove this method or its invocations.<br> * It used by WindowBuilder to associate the {@link javax.swing.JPopupMenu} with parent. */ private static void addPopup(Component component, final JPopupMenu popup) { component.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { if (e.isPopupTrigger()) showMenu(e); } public void mouseReleased(MouseEvent e) { if (e.isPopupTrigger()) showMenu(e); } private void showMenu(MouseEvent e) { popup.show(e.getComponent(), e.getX(), e.getY()); } }); } }
相关文章推荐
- java在线聊天项目 swt可视化窗口Design 好友列表窗口
- java在线聊天项目1.3版设计好友列表框功能补充,因只要用户登录就发送一串新列表,导致不同客户端好友列表不同问题
- java在线聊天项目 swt可视化窗口Design 登录框注册按钮点击改变窗口大小——出现注册面板 实现打开登录框时屏幕居中
- java在线聊天项目 客户端登陆窗口LoginDialog的注册用户功能 修改注册逻辑 增空用户名密码的反馈 增加showMessageDialog()提示框
- java在线聊天项目1.3版 ——设计好友列表框功能
- HuaXinIM聊项目阶段总结四(在线用户列表与聊天窗口的实现)
- java在线聊天项目0.4版本 制作服务端接收连接,客户端连接功能 新增客户端窗口打开时光标指向下边文本域功能,使用WindowListener监听WindowAdapter
- java在线聊天项目0.8版 实现把服务端接收到的信息返回给每一个客户端窗口中显示功能
- java在线聊天项目 使用SWT快速制作登录窗口,可视化窗口Design 更换窗口默认皮肤(切换Swing自带的几种皮肤如矩形带圆角)
- java在线聊天项目 客户端登陆窗口LoginDialog的注册用户功能
- java在线聊天项目0.1版本 制作客户端窗体,使用swing(用户界面开发工具包)和awt(抽象窗口工具包)
- java在线聊天项目0.2版本 制作客户端窗体,使用swing(用户界面开发工具包)和awt(抽象窗口工具包) BorderLayout布局与GridLayout布局不同之处 JPanel设置大小
- java在线聊天项目1.2版 ——开启多个客户端,分别实现数据库注册和登录功能后,成功登陆则登录框消失,好友列表窗出现
- java在线聊天项目0.3版本 制作客户端窗体,实现发送按钮和回车发送信息功能,使用ActionListener监听事件中actionPerformed方法(用内部类和匿名内部类两种方法)
- java在线聊天项目0.5版 解决客户端向服务器端发送信息时只能发送一次问题 OutputStreamWriter DataOutputStream socket.getOutputStream()
- java在线聊天项目0.6版 解决客户端关闭后异常问题 dis.readUTF()循环读取已关闭的socket
- java版的类似飞秋的局域网在线聊天项目
- java在线聊天项目0.7版 连接多个客户端问题,开启多个客户端后服务器端只接收到一个 对各种异常的补充处理
- java在线聊天项目1.0版 异常处理——开启多个客户端,关闭一个客户端后,在其他客户端中再发出信息会出现异常的处理
- java在线聊天项目 实现基本聊天功能后补充的其他功能详细需求分析 及所需要掌握的Java知识基础 SWT的激活方法,swt开发包下载,及破解激活码