![这里写图片描述](https://img-blog.csdn.net/20161213114415562?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzM2MjQyODQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
package com.hz.test;
import java.awt.Container;
import java.awt.HeadlessException;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class TestListener extends JFrame {
private final int width = Toolkit.getDefaultToolkit().getScreenSize().width;
private final int height = Toolkit.getDefaultToolkit().getScreenSize().height;
private final int windowWidth = 430;
private final int windowHeight = 330;
JLabel label;
StringBuilder builder = new StringBuilder();
public TestListener() throws HeadlessException {
this.setTitle("登录");
this.setBounds((width - windowWidth) / 2,
(height - windowHeight) / 2, windowWidth, windowHeight);
Container container = getContentPane();
container.setLayout(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
label = new JLabel("龙");
label.setSize(100, 50);
this.addMouseMotionListener(new MouseAdapter() {
@Override
public void mouseMoved(MouseEvent e) {
super.mouseMoved(e);
int x = e.getX();
int y = e.getY();
label.setLocation(x, y);
label.setText("x = " + x + " ,Y = " + y);
}
});
this.add(label);
}
public static void main(String[] args) {
new TestListener();
}
}
![这里写图片描述](https://img-blog.csdn.net/20161213114456454?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzM2MjQyODQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
package com.hz.test;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
public class JPopMenu_Demo extends JFrame {
JPopupMenu popupMenu;
public JPopMenu_Demo() {
super("右键弹出式菜单");
popupMenu = new JPopupMenu();
popupMenu.add(new JMenuItem("菜单项"));
popupMenu.add(new JButton("按钮"));
popupMenu.add(new JLabel("标签"));
myEvents();
setSize(350, 300);
setLocation(400, 200);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void myEvents() {
addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent event) {
triggerEvent(event);
}
public void mouseReleased(MouseEvent event) {
triggerEvent(event);
}
private void triggerEvent(MouseEvent event) {
if (event.isPopupTrigger())
popupMenu.show(event.getComponent(), event.getX(),
event.getY());
}
});
}
public static void main(String args[]) {
new JPopMenu_Demo();
}
}
![这里写图片描述](https://img-blog.csdn.net/20161213114708848?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzM2MjQyODQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
package com.hz.test;
import java.awt.BorderLayout;
import java.awt.HeadlessException;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Vector;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableColumnModel;
import javax.swing.table.DefaultTableModel;
public class TestTable02 extends JFrame{
private final int width = Toolkit.getDefaultToolkit().getScreenSize().width;
private final int height = Toolkit.getDefaultToolkit().getScreenSize().height;
private final int windowWidth = 430;
private final int windowHeight = 350;
JTable table;
JScrollPane scrollPane;
Vector<Vector<String>> data;
Vector<String> columnNames;
JButton tianjia,shanchu;
Box box = Box.createHorizontalBox();
DefaultTableModel dm;
public TestTable02() throws HeadlessException {
window();
initData();
dm = new DefaultTableModel(data, columnNames);
table = new JTable(dm);
scrollPane = new JScrollPane(table);
this.add(scrollPane);
tianjia = new JButton("添加");
shanchu = new JButton("删除");
box.add(Box.createHorizontalStrut(130));
box.add(tianjia);
box.add(Box.createHorizontalStrut(35));
box.add(shanchu);
this.add(box, BorderLayout.SOUTH);
initTianjia();
}
private void initTianjia() {
tianjia.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
Vector<String> dataRow = new Vector<>();
dataRow.add(66+"");
dataRow.add("李四");
dataRow.add("女");
dataRow.add(20+"");
dataRow.add("计算机");
dataRow.add("");
data.add(dataRow);
dm.fireTableStructureChanged();
}
});
shanchu.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
int num = dm.getRowCount();
if(num > 0){
dm.removeRow(0);
dm.fireTableStructureChanged();
}
}
});
table.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
int index = table.getSelectedRow();
dm.removeRow(index);
dm.fireTableStructureChanged();
}
});
}
private void initData() {
columnNames = new Vector<String>();
columnNames.add("学号");
columnNames.add("姓名");
columnNames.add("性别");
columnNames.add("年龄");
columnNames.add("专业");
columnNames.add("备注");
data = new Vector<Vector<String>>();
for (int i = 0; i < 20; i++) {
Vector<String> dataRow = new Vector<>();
dataRow.add(1 + i + "");
dataRow.add("张三" + i);
dataRow.add("男");
dataRow.add(20 + i + "");
dataRow.add("计算机");
dataRow.add("");
data.add(dataRow);
}
}
private void window() {
this.setTitle("表格");
this.setBounds((width - windowWidth) / 2,
(height - windowHeight) / 2, windowWidth, windowHeight);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
this.setVisible(true);
}
public static void main(String[] args) {
new TestTable02();
}
}
![这里写图片描述](https://img-blog.csdn.net/20161213115008883?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzM2MjQyODQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
package com.hz.test;
import java.awt.HeadlessException;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JRootPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;
public class JTreeDemo extends JFrame {
private final int width = Toolkit.getDefaultToolkit().getScreenSize().width;
private final int height = Toolkit.getDefaultToolkit().getScreenSize().height;
private final int windowWidth = 278;
private final int windowHeight = 600;
JTree tree;
public JTreeDemo() throws HeadlessException {
window();
DefaultMutableTreeNode node = new DefaultMutableTreeNode("QQ");
DefaultMutableTreeNode node_1 = new DefaultMutableTreeNode("好友");
DefaultMutableTreeNode node_2 = new DefaultMutableTreeNode("亲属");
DefaultMutableTreeNode node_3 = new DefaultMutableTreeNode("同学");
node.add(node_1);
node.add(node_2);
node.add(node_3);
Fridents f1 = new Fridents("张三", 20, 1);
Fridents f2 = new Fridents("李四", 20, 1);
Fridents f3 = new Fridents("王五", 20, 1);
DefaultMutableTreeNode node_1_1 = new DefaultMutableTreeNode(f1);
DefaultMutableTreeNode node_1_2 = new DefaultMutableTreeNode(f2);
DefaultMutableTreeNode node_1_3 = new DefaultMutableTreeNode(f3);
node_1.add(node_1_1);
node_1.add(node_1_2);
node_1.add(node_1_3);
tree = new JTree(node);
this.add(tree);
initWindow();
}
private void initWindow() {
/**
* 选中监听
*/
tree.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
TreePath path = tree.getPathForLocation(e.getX(), e.getY());
DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent();
Object object = node.getUserObject();
if(e.getClickCount() == 2 && node.isLeaf() && object instanceof Fridents){
Fridents fridents = (Fridents) object;
System.out.println(
fridents.getName() + " " +
fridents.getAge() + " " +
fridents.getId());
}
}
});
}
public static void main(String[] args) {
new JTreeDemo();
}
private void window() {
this.setTitle("树状列表");
this.setBounds((int) ((width - windowWidth)*1.0 / 1.1),
((height - windowHeight) / 9), windowWidth, windowHeight);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setUndecorated(true);
this.getRootPane().setWindowDecorationStyle(JRootPane.WIDTH);
this.setResizable(false);
this.setVisible(true);
}
}