tab对应的类是:javax.swing.JTabbedPane
1,增加双击事件:
- tabbedPane_22.addMouseListener(new MouseAdapter() {
- private int heightLevel=0;
- @Override
- public void mouseReleased(MouseEvent e) {
- }
- @Override
- public void mousePressed(MouseEvent e) {
- }
- @Override
- public void mouseClicked(MouseEvent e) {
- JTabbedPane tabbedPane = (JTabbedPane) e.getSource();
- int selectedIndex = tabbedPane.getSelectedIndex();
- //当前选择的标签页
- Component selectedTab= tabbedPane.getComponentAt(selectedIndex);
- if(!ValueWidget.isNullOrEmpty(selectedTab)&&jsonFormattedPane==selectedTab){
- if(e.getClickCount()==2){
- switch (heightLevel%3) {
- case 0:
- splitPane_out.setDividerLocation(getDividerHeight()[0]);
- break;
- case 1:
- splitPane_out.setDividerLocation(15);
- break;
- case 2:
- splitPane_inner.setDividerLocation(getDividerHeight()[0]);
- splitPane_out.setDividerLocation(getDividerHeight()[1]);
- RequestPanel.this.repaint();
- break;
- default:
- break;
- }
- heightLevel++;
- }
- }
- }
- });
2,增加右键菜单
- tabbedPane_2.addMouseListener(getMouseInputListener(tabbedPane_2, this));
监听器:
- public static MouseInputListener getMouseInputListener(final JTabbedPane tabbedPane
- ,final AutoTestPanel autoTestPanel) {
- return new MouseInputListener() {
- public int count;
- public void mouseClicked(MouseEvent e) {
- /*if(e.getClickCount()==1){
- final int rowCount = jTable.getSelectedRow();
- final int columnCount=jTable.getSelectedColumn();
- int modifiers = e.getModifiers();
- modifiers -= MouseEvent.BUTTON3_MASK;
- modifiers |= MouseEvent.FOCUS_EVENT_MASK;
- MouseEvent ne = new MouseEvent(e.getComponent(), e.getID(),
- e.getWhen(), modifiers, e.getX(), e.getY(),
- 2, false);
- // processEvent(ne);
- jTable.editCellAt(rowCount, columnCount,ne);
- // CellEditor cellEditor=jTable.getCellEditor(rowCount, columnCount);
- // cellEditor.shouldSelectCell(ne);
- jTable.dispatchEvent(ne);
- }*/
- System.out.println("mouseClicked"+(count++));
- processEvent(e);
- }
- /***
- * in order to trigger Left-click the event
- */
- public void mousePressed(MouseEvent e) {
- processEvent(e);// is necessary!!!
- System.out.println("mousePressed"+(count++));
- }
- public void mouseReleased(MouseEvent e) {
- RequestPanel currentRequestPanel2=(RequestPanel)tabbedPane.getSelectedComponent();
- if(ValueWidget.isNullOrEmpty(currentRequestPanel2)){
- currentRequestPanel2=autoTestPanel.getCurrentRequestPanel();
- }
- if (e.getButton() == MouseEvent.BUTTON3) {// right click
- // processEvent(e);
- // System.out.println("row:" + rowCount);
- //右键点击表格时,点击的单元格,正常情况返回的是String
- // System.out.println("rowCount:"+rowCount);
- // System.out.println("columnCount:"+columnCount);
- JPopupMenu popupmenu = new JPopupMenu();
- JMenuItem runM = new JMenuItem(RequestPanel.ACTION_COMMAND_RUN);
- JMenuItem cleanUp_runM = new JMenuItem("清空后再运行");
- JMenuItem copyParameterM = new JMenuItem(RequestPanel.ACTION_COMMAND_COPY_REQUEST_PARAMETER);
- JMenuItem copyResponseM = new JMenuItem(RequestPanel.ACTION_COMMAND_COPY_RESPONSE);
- JMenuItem copyAccessTokenM = new JMenuItem("复制access_token");
- JMenuItem cleanUpCellM = new JMenuItem("清空单元格");
- cleanUpCellM.setActionCommand(MenuUtil2.ACTION_STR_CLEANUP_CELL);
- JMenuItem sendPostM = new JMenuItem("打开网页发送POST请求");
- JMenuItem copyPanelM = new JMenuItem("复制请求panel");
- JMenuItem deleteCurrentPanelM = new JMenuItem("删除当前请求panel");
- JMenuItem cleanResultM = new JMenuItem("清空结果");
- JMenuItem copyRequestInfoM=new JMenuItem(RequestPanel.ACTION_COMMAND_COPY_REQUEST_INFO);
- JMenuItem pasteRequestInfoM=new JMenuItem(RequestPanel.ACTION_COMMAND_PASTE_REQUEST_INFO);
- MyTableMenuListener yMenuActionListener = new MyTableMenuListener(null,SystemHWUtil.NEGATIVE_ONE
- ,SystemHWUtil.NEGATIVE_ONE,currentRequestPanel2);
- runM.addActionListener(yMenuActionListener);
- cleanUp_runM.addActionListener(yMenuActionListener);
- copyParameterM.addActionListener(yMenuActionListener);
- copyResponseM.addActionListener(yMenuActionListener);
- copyAccessTokenM.addActionListener(yMenuActionListener);
- cleanResultM.addActionListener(yMenuActionListener);
- copyRequestInfoM.addActionListener(yMenuActionListener);
- pasteRequestInfoM.addActionListener(yMenuActionListener);
- cleanUpCellM.addActionListener(yMenuActionListener);
- sendPostM.addActionListener(yMenuActionListener);
- copyPanelM.addActionListener(yMenuActionListener);
- deleteCurrentPanelM.addActionListener(yMenuActionListener);
- popupmenu.add(cleanUp_runM);
- popupmenu.add(runM);
- popupmenu.add(copyParameterM);
- popupmenu.add(copyResponseM);
- popupmenu.add(copyAccessTokenM);
- popupmenu.add(cleanUpCellM);
- popupmenu.add(sendPostM);
- popupmenu.add(copyPanelM);
- popupmenu.add(deleteCurrentPanelM);
- popupmenu.add(cleanResultM);
- popupmenu.add(copyRequestInfoM);
- popupmenu.add(pasteRequestInfoM);
- popupmenu.show(e.getComponent(), e.getX(), e.getY());
- // processEvent(e);
- }/*else if (e.getButton() == MouseEvent.BUTTON1&& e.getClickCount()==1){
- System.out.println("左键");
- int modifiers = e.getModifiers();
- modifiers |= MouseEvent.FOCUS_EVENT_MASK;
- MouseEvent ne = new MouseEvent(e.getComponent(), e.getID(),
- e.getWhen(), modifiers, e.getX(), e.getY(),
- 2, false);
- // processEvent(ne);
- // jTable.editCellAt(rowCount, columnCount,ne);
- // CellEditor cellEditor=jTable.getCellEditor(rowCount, columnCount);
- // cellEditor.shouldSelectCell(ne);
- jTable.dispatchEvent(ne);
- }*/
- System.out.println("mouseReleased"+(count++));
- }
- public void mouseEntered(MouseEvent e) {
- processEvent(e);
- }
- public void mouseExited(MouseEvent e) {
- processEvent(e);
- }
- public void mouseDragged(MouseEvent e) {
- processEvent(e);
- }
- public void mouseMoved(MouseEvent e) {
- processEvent(e);
- }
- private void processEvent(MouseEvent e) {
- // Right-click on
- if ((e.getModifiers() & MouseEvent.BUTTON3_MASK) != 0) {
- // System.out.println(e.getModifiers());
- // System.out.println("Right-click on");
- int modifiers = e.getModifiers();
- modifiers -= MouseEvent.BUTTON3_MASK;
- modifiers |= MouseEvent.BUTTON1_MASK;
- MouseEvent ne = new MouseEvent(e.getComponent(), e.getID(),
- e.getWhen(), modifiers, e.getX(), e.getY(),
- e.getClickCount(), false);
- tabbedPane.dispatchEvent(ne);// in order to trigger Left-click
- // the event
- }
- }
- };
- }
时间: 2024-10-31 17:39:14