zoukankan      html  css  js  c++  java
  • JSplitPane demo

    package example;
    
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JSplitPane;
    import javax.swing.JTable;
    import javax.swing.JTree;
    import javax.swing.tree.DefaultMutableTreeNode;
    import javax.swing.tree.DefaultTreeModel;
    
    public class Main {
    
        private JPanel right;
        private JTree tree;
    
        public Main() {
            initLeft();
            initRight();
        }
    
        private void initLeft() {
            DefaultMutableTreeNode root = new DefaultMutableTreeNode("我的电脑");
            DefaultMutableTreeNode c = new DefaultMutableTreeNode("C:");
            DefaultMutableTreeNode d = new DefaultMutableTreeNode("D:");
            DefaultMutableTreeNode e = new DefaultMutableTreeNode("E:");
    
            DefaultMutableTreeNode c1 = new DefaultMutableTreeNode("file1");
            DefaultMutableTreeNode c2 = new DefaultMutableTreeNode("file2");
            DefaultMutableTreeNode c3 = new DefaultMutableTreeNode("file3");
            DefaultMutableTreeNode c4 = new DefaultMutableTreeNode("file4");
    
            DefaultTreeModel treeModel = new DefaultTreeModel(root);
            treeModel.insertNodeInto(c, root, root.getChildCount());
            treeModel.insertNodeInto(d, root, root.getChildCount());
            treeModel.insertNodeInto(e, root, root.getChildCount());
            treeModel.insertNodeInto(c1, c, c.getChildCount());
            treeModel.insertNodeInto(c2, c, c.getChildCount());
            treeModel.insertNodeInto(c3, c, c.getChildCount());
            treeModel.insertNodeInto(c4, c, c.getChildCount());
    
            tree = new JTree();
            tree.setModel(treeModel);
        }
    
        private void initRight() {
            final Object[] columnNames = { "档案号", "姓名", "年龄", "性别", "婚姻状况", "职业", "联系电话" };
            Object[][] rowData = { { "010110", "张三", "28", "男", "已婚", "教师", "13686562936" },
                    { "010110", "李四", "28", "男", "已婚", "教师", "13686562936" } };
            final JTable tb = new JTable(rowData, columnNames) {
                private static final long serialVersionUID = 1L;
    
                public boolean isCellEditable(int row, int column) {
                    return false;
                }
            };
    
            tb.setPreferredScrollableViewportSize(new Dimension(639, 232));
            tb.setRowHeight(20);
            tb.setRowSelectionAllowed(true);
            tb.setSelectionBackground(Color.lightGray);
            tb.setSelectionForeground(Color.white);
            tb.setGridColor(Color.black);
            tb.setShowGrid(true);
            tb.setShowHorizontalLines(true);
            tb.setShowVerticalLines(true);
            tb.setBackground(Color.white);
            // 添加部分2
            tb.addMouseListener(new MouseAdapter() {
                public void mouseClicked(MouseEvent e) {
                    if (e.getButton() == MouseEvent.BUTTON1) {// 双击鼠标
    
                        if (e.getClickCount() == 2) {
                            int colummCount = tb.getModel().getColumnCount();
                            // 列数
                            for (int i = 0; i < colummCount; i++) {
                                System.out.print(tb.getModel().getColumnName(i) + ":");
                                System.out.print(tb.getModel().getValueAt(tb.getSelectedRow(), i).toString() + "   ");
                            }
                            System.out.println();
                        }
                    }
                }
            });
            JScrollPane pane = new JScrollPane(tb);
            right = new JPanel(new BorderLayout());
            right.add(pane, BorderLayout.CENTER);
            right.add(new JButton("OK"), BorderLayout.SOUTH);
    
        }
    
        public static void main(String[] args)
        {
            Main m = new Main();
            JSplitPane splitPane = new JSplitPane();// 创建一个分割容器类
            splitPane.setOneTouchExpandable(true);// 让分割线显示出箭头
            splitPane.setContinuousLayout(true);// 操作箭头,重绘图形
            splitPane.setPreferredSize(new Dimension(800, 300));// 设置splitPane的尺寸
            splitPane.setOrientation(JSplitPane.HORIZONTAL_SPLIT);// 设置分割线方向
    
            splitPane.setLeftComponent(m.tree);
            splitPane.setRightComponent(m.right);
            splitPane.setDividerSize(10);// 分割线的宽度
            splitPane.setDividerLocation(100);// 设置分割线的位置,即与左边框的距离
    
            JFrame frame = new JFrame("JSplitPane demo");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setContentPane(splitPane);
            frame.pack();
            frame.setLocationRelativeTo(null);
            frame.setVisible(true);
    
        }
    
    }
  • 相关阅读:
    Python学习-第三天代码作业
    网络原理-1
    整理操作系统
    操作系统--开发语言--重点
    操作系统
    C#数组的声明方式
    string.Format对C#字符串格式化(转)
    C#中两个Form窗口之间的传值(父->子)(子->父) (转)
    opencv MatchTemplate()模板匹配寻找最匹配部分
    摄像头,图片筛选颜色
  • 原文地址:https://www.cnblogs.com/softidea/p/4541452.html
Copyright © 2011-2022 走看看