表右键响应

/**
 *
 */
package com;

import java.awt.EventQueue;
import java.awt.Point;
import java.awt.event.InputEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableModel;

/**
 * @author Administrator
 *
 */
public class InvestmentTable
{

 /**
  *
  */
 public InvestmentTable()
 {
  // TODO Auto-generated constructor stub
  
 }

 /**
  * @param args
  */
 public static void main(String[] args)
 {
  // TODO Auto-generated method stub
  EventQueue.invokeLater(new Runnable()
  {
   public void run()
   {
    JFrame frame = new InvestmentTableFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
   }
  });

 }
}
 class InvestmentTableFrame extends JFrame
 {
  public InvestmentTableFrame()
  {
   setTitle("InvestmentTable");
   setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
   TableModel model  = new  InvestmentTableModel(30,5,10);
   final JTable table = new JTable (model);
   add(new JScrollPane(table));
   table.addMouseListener(new MouseAdapter()
   {
//    public void mouseClicked(MouseEvent e)
//   {
//     Point mousePoint =  e.getPoint();
//     System.out.println(table.rowAtPoint(mousePoint));
//     if(e.getButton()==MouseEvent.BUTTON3 )
//    {
//     
//    }
//    
//   }
      public   void   mousePressed(MouseEvent   me)
      {  
                JTable   table=(JTable)me.getSource();  
                if((me.getModifiers()&InputEvent.BUTTON3_MASK)!=0)
                {  
                    Point   p   =   me.getPoint();  
                    int   row   =   table.rowAtPoint(p);  
                    int   column   =   table.columnAtPoint(p);  
                  if(!me.isControlDown()&!me.isShiftDown()&row!=-1&column!=-1)
                   table.changeSelection(row,   column,   me.isControlDown(),   me.isShiftDown());  
                }  
                System.out.println("confirm");  
                }   
            public   void   mouseReleased(MouseEvent   me)
            {  
              //  if((me.getModifiers()&InputEvent.BUTTON3_MASK)!=0)   //show   something  
            }  

   });
  
  }
  private static final int  DEFAULT_WIDTH = 600;
  private static final int DEFAULT_HEIGHT = 300;
 
 }
 class InvestmentTableModel extends  AbstractTableModel
 {
  public InvestmentTableModel(int y, int r1, int r2)
  {
   years = y;
   minRate = r1;
   maxRate = r2;
  
  }
  public int getRowCount()
  {
   return years;
  }
  public int getColumnCount()
  {
   return maxRate - minRate +1;
  }
  public Object getValueAt(int r,int c)
  {
   double rate = (c+minRate)/100.0;
   int nperiods = r;
   double futureBalance = INITIAL_BALANCE*Math.pow(1+rate, nperiods);
//   Object []futureBalancearray = null;
//   futureBalancearray[0] = (Object)futureBalance;
  // return futureBalance;
   return  Double.valueOf(futureBalance);//futureBalance;//String.format("%.2f", futureBalance);
  
  }
  public String getColumnName(int c)
  {
   return (c+minRate)+"%";  
  }
  private int years;
  private int minRate;
  private int maxRate;
  private static double INITIAL_BALANCE = 10000.0;
 }
 
 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值