swing界面设计之好友列表、消息对话框
2017-03-30 14:10
585 查看
如果有不清楚的地方,请参考本系列前述记录。
对话框
com.lsh.view.ChatFrame
界面效果
好友列表对话框
源码
com.lsh.view.BuddyListDialogpackage com.lsh.view; import java.awt.BorderLayout; import java.awt.FlowLayout; import javax.swing.ImageIcon; import javax.swing.JDialog; import javax.swing.JPanel; import com.lsh.util.ImageScale; import javax.swing.JLabel; import java.awt.Font; import javax.swing.JButton; import javax.swing.JTabbedPane; import javax.swing.JScrollPane; @SuppressWarnings("serial") public class BuddyListDialog extends JDialog { private final JPanel contentPanel = new JPanel(); /** * Launch the application. */ public static void main(String[] args) { try { org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper.launchBeautyEyeLNF(); } catch(Exception e) { //TODO exception System.out.println("加载炫彩皮肤失败!"); } try { BuddyListDialog dialog = new BuddyListDialog(); dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); dialog.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } /** * Create the dialog. */ public BuddyListDialog() { setBounds(100, 100, 400, 650); getContentPane().setLayout(new BorderLayout()); getContentPane().add(contentPanel, BorderLayout.CENTER); contentPanel.setLayout(new BorderLayout(0, 0)); JPanel panel = new JPanel(); contentPanel.add(panel, BorderLayout.NORTH); panel.setLayout(new BorderLayout(10, 10)); ImageIcon icon = new ImageIcon(BuddyListDialog.class.getResource("/res/login.jpg")); JLabel lblNewLabel = new JLabel(ImageScale.getImage(icon, 64, 64)); panel.add(lblNewLabel, BorderLayout.WEST); JPanel panel_1 = new JPanel(); panel.add(panel_1, BorderLayout.CENTER); panel_1.setLayout(new BorderLayout(0, 0)); JLabel lblNewLabel_1 = new JLabel("lsh呵呵"); lblNewLabel_1.setFont(new Font("Dialog", Font.BOLD, 14)); panel_1.add(lblNewLabel_1, BorderLayout.CENTER); JLabel lblNewLabel_2 = new JLabel("该家伙很懒,没有任何简介"); panel_1.add(lblNewLabel_2, BorderLayout.SOUTH); JPanel panel_2 = new JPanel(); contentPanel.add(panel_2, BorderLayout.SOUTH); panel_2.setLayout(new BorderLayout(0, 0)); JPanel panel_3 = new JPanel(new FlowLayout(FlowLayout.LEFT)); panel_2.add(panel_3, BorderLayout.CENTER); JButton btnNewButton_1 = new JButton("设 置"); panel_3.add(btnNewButton_1); JButton btnNewButton_2 = new JButton("查 找"); panel_3.add(btnNewButton_2); JPanel panel_4 = new JPanel(); panel_2.add(panel_4, BorderLayout.EAST); JButton btnNewButton = new JButton("退 出"); panel_4.add(btnNewButton); JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP); contentPanel.add(tabbedPane, BorderLayout.CENTER); JPanel panel_5 = new JPanel(); tabbedPane.addTab("我的好友", null, panel_5, null); panel_5.setLayout(new BorderLayout(0, 0)); JScrollPane scrollPane = new JScrollPane(); panel_5.add(scrollPane, BorderLayout.CENTER); JPanel panel_6 = new JPanel(); tabbedPane.addTab("消息列表", null, panel_6, null); JLabel lblNewLabel_3 = new JLabel("暂未实现"); panel_6.add(lblNewLabel_3); } }
com.lsh.view.ChatFrame
package com.lsh.view; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.UIManager; import javax.swing.border.EmptyBorder; import javax.swing.JLabel; import javax.swing.border.LineBorder; import java.awt.Color; import java.awt.Font; import javax.swing.JSplitPane; import javax.swing.JButton; import javax.swing.JScrollPane; import java.awt.FlowLayout; import javax.swing.JTextArea; @SuppressWarnings("serial") public class ChatFrame extends JFrame { private JPanel contentPane; /** * Launch the application. */ public static void main(String[] args) { try { org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper.launchBeautyEyeLNF(); UIManager.put("RootPane.setupButtonVisible", false); } catch(Exception e) { //TODO exception System.out.println("加载炫彩皮肤失败!"); } EventQueue.invokeLater(new Runnable() { public void run() { try { ChatFrame frame = new ChatFrame(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public ChatFrame() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 700, 600); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setLayout(new BorderLayout(0, 0)); setContentPane(contentPane); JPanel panel = new JPanel(); contentPane.add(panel, BorderLayout.NORTH); panel.setLayout(new BorderLayout(5, 5)); JLabel lblNewLabel = new JLabel(""); lblNewLabel.setBorder(new LineBorder(new Color(0, 0, 0))); lblNewLabel.setPreferredSize(new Dimension(64, 64)); panel.add(lblNewLabel, BorderLayout.WEST); JPanel panel_1 = new JPanel(); panel.add(panel_1, BorderLayout.CENTER); panel_1.setLayout(new BorderLayout(0, 0)); JLabel lblNewLabel_1 = new JLabel("张三丰"); lblNewLabel_1.setFont(new Font("Dialog", Font.BOLD, 14)); panel_1.add(lblNewLabel_1, BorderLayout.CENTER); JLabel lblNewLabel_2 = new JLabel("埋下一座城,关了所有灯"); panel_1.add(lblNewLabel_2, BorderLayout.SOUTH); JSplitPane splitPane = new JSplitPane(); splitPane.setResizeWeight(0.9); splitPane.setOrientation(JSplitPane.VERTICAL_SPLIT); contentPane.add(splitPane, BorderLayout.CENTER); JPanel panel_2 = new JPanel(); splitPane.setRightComponent(panel_2); panel_2.setLayout(new BorderLayout(0, 0)); JPanel panel_3 = new JPanel(); FlowLayout flowLayout = (FlowLayout) panel_3.getLayout(); flowLayout.setAlignment(FlowLayout.LEFT); panel_2.add(panel_3, BorderLayout.NORTH); JButton btnNewButton_1 = new JButton("字体"); panel_3.add(btnNewButton_1); JButton btnNewButton = new JButton("震屏"); panel_3.add(btnNewButton); JPanel panel_4 = new JPanel(); panel_2.add(panel_4, BorderLayout.CENTER); panel_4.setLayout(new BorderLayout(0, 0)); JPanel panel_5 = new JPanel(); panel_4.add(panel_5, BorderLayout.EAST); panel_5.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5)); JButton button = new JButton("发 送"); panel_5.add(button); JPanel panel_6 = new JPanel(); panel_4.add(panel_6, BorderLayout.CENTER); panel_6.setLayout(new BorderLayout(0, 0)); JScrollPane scrollPane_1 = new JScrollPane(); panel_6.add(scrollPane_1, BorderLayout.CENTER); JTextArea textArea = new JTextArea(); textArea.setLineWrap(true); scrollPane_1.setViewportView(textArea); JScrollPane scrollPane = new JScrollPane(); splitPane.setLeftComponent(scrollPane); } }
相关文章推荐
- C#--第12周实验--任务2(设计一个窗体)--消息对话框
- 【远控编写06】客户端界面的设计和编写--添加菜单消息响应,从列表中删除条目
- 好友聊天消息列表本地数据库封装
- 使用java导入某个msn帐号的好友列表并发送消息
- GUI菜单设计、对话框JPotionPane、列表JTable、JTree、 登录界面模拟
- 基于Openfire Smack开发即时通讯应用、获取离线消息,发送消息,联系人列表,添加好友(三)
- Python小练习-自动登录人人发送消息并返回好友列表
- 【远控编写01】客户端界面的设计和编写--对话框,列表控件的伸缩
- PHP 获取MSN好友列表 组信息 发送离线消息 (三)
- java在线聊天项目1.3版设计好友列表框功能补充,因只要用户登录就发送一串新列表,导致不同客户端好友列表不同问题
- 高级用户界面设计之消息提示框与对话框
- 【远控编写01】客户端界面的设计和编写--对话框,列表控件的伸缩
- PHP 获取MSN好友列表 组信息 发送离线消息 (二)
- 基于XMPP开发学习------(3)好友列表、发送消息
- 【远控编写06】客户端界面的设计和编写--添加菜单消息响应,从列表中删除条目
- PHP 获取MSN好友列表 组信息 发送离线消息 (一)
- Qt——消息对话框的设计
- 使用JAVA导入某个MSN帐号的好友列表并发送消息
- XMPP通讯开发-弹出好友通信对话框的逻辑设计
- MySQL数据库设计好友列表遇到的问题