解决方案 »
- 老师教做软件,连接数据库,数据库在我这机子上,别人用我的软件,如何连接我的数据库呢?请帮下小忙!!!
- 一道笔试题,类继承相关,求解。
- 新手问个简单的问题???
- 我该怎么办(提建议的,帮顶的都给分!好的建议给的分多!)
- 关于socket通信的问题,大虾来看看我的代码
- 散分。。。三个简单的问题,菜鸟诚请高手帮忙
- frame为什么声明为 static 的?
- 求大神啊,3个java试题。求解!
- 用Tomcat和IIS配合,除了访问端口不一样外,还有什么差别?
- 讲讲写注释和技术文档的重要性吧(内同,期待高见!)
- 求段关于PCQQ协议发送数据的java代码。
- 不知道为何同步代码出现异常。求高手帮助,跪谢了!
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;public class JTableDemo extends JFrame{
private JTable tbl;
private DefaultTableModel tm;
private JPopupMenu[] pms = new JPopupMenu[2];
public JTableDemo() {
String[][] data = { {"R1C1", "R1C2"}, {"R2C1", "R2C2"} };
String[] title = {"Column1", "Column2"};
tm = new DefaultTableModel(data, title){
@Override
public boolean isCellEditable(int row, int column){
return false;
}
};
tbl = new JTable(tm);
tbl.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
int sr;
if ((sr = tbl.getSelectedRow()) == -1) {
return;
}
if (e.getButton() == MouseEvent.BUTTON1 && e.getClickCount() == 2) {
pms[sr].show(tbl, e.getX(), e.getY());
}
}
}); JScrollPane jsp = new JScrollPane();
jsp.setViewportView(tbl); JPanel pan = new JPanel();
pan.setOpaque(true);
this.setContentPane(pan);
pan.setLayout(new BorderLayout());
pan.add(jsp, BorderLayout.CENTER); JPopupMenu pm = new JPopupMenu();
pm.add(new JMenuItem("Row1"));
pms[0] = pm;
pm = new JPopupMenu();
pm.add(new JMenuItem("Row2"));
pms[1] = pm;
} private static void createAndShowGui() {
JTableDemo td = new JTableDemo();
td.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
td.setMinimumSize(new Dimension(500, 400));
td.setLocationRelativeTo(null);
td.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
createAndShowGui();
}
});
}
}
@Override
public void mouseClicked(MouseEvent e) {
int sr;
if ((sr = tbl.getSelectedRow()) == -1) {
return;
}
if (e.getButton() == MouseEvent.BUTTON3
&&(e.getClickCount() == 1)) {
pms[sr].show(tbl, e.getX(), e.getY());
}
}
});
将监听器改下就行,MouseEvent.BUTTON1代表左键,MouseEvent.BUTTON2代表中键,MouseEvent.BUTTON3
代表右键
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;public class JTableDemo extends JFrame {
private static final long serialVersionUID = 1L;
private JTable tbl;
private DefaultTableModel tm;
private JPopupMenu[] pms = new JPopupMenu[2]; public JTableDemo() {
String[][] data = { { "R1C1", "R1C2" }, { "R2C1", "R2C2" } };
String[] title = { "Column1", "Column2" };
tm = new DefaultTableModel(data, title) {
private static final long serialVersionUID = 1L; @Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
tbl = new JTable(tm);
tbl.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
int sr;
// if ((sr = tbl.getSelectedRow()) == -1) {
// return;
// }
if (e.getButton() == MouseEvent.BUTTON3) {
pms[tbl.rowAtPoint(e.getPoint())].show(tbl, e.getX(), e.getY());
}
}
}); JScrollPane jsp = new JScrollPane();
jsp.setViewportView(tbl); JPanel pan = new JPanel();
pan.setOpaque(true);
this.setContentPane(pan);
pan.setLayout(new BorderLayout());
pan.add(jsp, BorderLayout.CENTER); JPopupMenu pm = new JPopupMenu();
pm.add(new JMenuItem("Row1"));
pms[0] = pm;
pm = new JPopupMenu();
pm.add(new JMenuItem("Row2"));
pms[1] = pm;
} private static void createAndShowGui() {
JTableDemo td = new JTableDemo();
td.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
td.setMinimumSize(new Dimension(500, 400));
td.setLocationRelativeTo(null);
td.setVisible(true);
} public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
createAndShowGui();
}
});
}
}
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;public class JTableDemo extends JFrame { private static final long serialVersionUID = 1L;
private JTable tbl;
private DefaultTableModel tm;
private JPopupMenu[] pms = new JPopupMenu[2]; public JTableDemo() {
String[][] data = {{"R1C1", "R1C2"}, {"R2C1", "R2C2"}};
String[] title = {"Column1", "Column2"};
tm = new DefaultTableModel(data, title) {
private static final long serialVersionUID = 1L; @Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
tbl = new JTable(tm);
tbl.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
tbl.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3) {
if (tbl.rowAtPoint(e.getPoint()) == tbl.getSelectedRow()) {
pms[tbl.getSelectedRow()].show(tbl, e.getX(), e.getY());
}
}
}
}); JScrollPane jsp = new JScrollPane();
jsp.setViewportView(tbl); JPanel pan = new JPanel();
pan.setOpaque(true);
this.setContentPane(pan);
pan.setLayout(new BorderLayout());
pan.add(jsp, BorderLayout.CENTER); JPopupMenu pm = new JPopupMenu();
pm.add(new JMenuItem("Row1"));
pms[0] = pm;
pm = new JPopupMenu();
pm.add(new JMenuItem("Row2"));
pms[1] = pm;
} private static void createAndShowGui() {
JTableDemo td = new JTableDemo();
td.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
td.setMinimumSize(new Dimension(500, 400));
td.setLocationRelativeTo(null);
td.setVisible(true);
} public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
createAndShowGui();
}
});
}
}