窗体的拖动问题 我给窗体设了this.setUndecorated(true)这个属性去了边框后窗体就没办法拖动了,有没有什么方法可以使鼠标点窗体内部也能随意拖动窗体呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.event.MouseMotionListener;import javax.swing.JButton;import javax.swing.JPanel;import javax.swing.JFrame;import javax.swing.UIManager;public class Test extends JFrame implements MouseListener, MouseMotionListener { private static final long serialVersionUID = -7376696426025549528L; private JPanel pane = null; private int mouseX = 0, mouseY = 0; public Test() { super(); this.setUndecorated(true); this.lookAndFeel(); this.addMouseListener(this); this.addMouseMotionListener(this); JButton button = new JButton("关闭窗口"); button.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { System.exit(0); }}); pane = new JPanel(); pane.setLayout(new FlowLayout()); pane.add(button); this.getContentPane().add(pane); this.setSize(300, 200); this.setLocationRelativeTo(null); this.setVisible(true); } public static void main(String[] arg) { new Test(); } private void lookAndFeel() { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception e) { e.printStackTrace(); } } public void mouseClicked(MouseEvent e) { } public void mousePressed(MouseEvent e) { mouseX = e.getX(); mouseY = e.getY(); } public void mouseReleased(MouseEvent e) { } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mouseDragged(MouseEvent e) { if (e.getModifiers() == MouseEvent.BUTTON1_MASK) { this.setLocation(this.getX() + e.getX() - mouseX, this.getY() + e.getY() - mouseY); } } public void mouseMoved(MouseEvent e) { }} 将该窗体implements DragSource等接口, 把窗体作为一个可拖动的对象,然后获取光标move的位置,相应的把窗体的location设置一下。没办法,就只有这么麻烦,去了边框还要保留拖动真的是比较怪异的需求。 关于socket聊天室 用线程池怎么实现? 如何修改文件名! 求一个新手程序~~ [疑问]返回一个字符串的相反值如何做呢? 怎样从子线程当中得到值? 怎样实现文本域的左对齐,右对齐,居中对齐? 请问:applet能传送文件给server吗?谢谢` 文件传输问题! 【敬请】各位高手帮忙看一下这个错误怎么改?在线等!!!!!!!!!!!!!! 数据库中数据查询问题: 关于在FOR循环里变量定义 一个i/o方面的问题
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.UIManager;public class Test extends JFrame implements MouseListener, MouseMotionListener {
private static final long serialVersionUID = -7376696426025549528L; private JPanel pane = null;
private int mouseX = 0, mouseY = 0; public Test() {
super();
this.setUndecorated(true);
this.lookAndFeel();
this.addMouseListener(this);
this.addMouseMotionListener(this);
JButton button = new JButton("关闭窗口");
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}});
pane = new JPanel();
pane.setLayout(new FlowLayout());
pane.add(button);
this.getContentPane().add(pane);
this.setSize(300, 200);
this.setLocationRelativeTo(null);
this.setVisible(true);
} public static void main(String[] arg) {
new Test();
}
private void lookAndFeel() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
} public void mouseClicked(MouseEvent e) {
} public void mousePressed(MouseEvent e) {
mouseX = e.getX();
mouseY = e.getY();
} public void mouseReleased(MouseEvent e) {
} public void mouseEntered(MouseEvent e) {
} public void mouseExited(MouseEvent e) {
} public void mouseDragged(MouseEvent e) {
if (e.getModifiers() == MouseEvent.BUTTON1_MASK) {
this.setLocation(this.getX() + e.getX() - mouseX, this.getY() + e.getY() - mouseY);
}
} public void mouseMoved(MouseEvent e) {
}}