如何在netbeans中将jpanel声明为变量,以便使用它来拖动表单?[java swing]
我想问一下,如何在netbeans中将jpanel声明为变量,以便使用它来拖动表单?我正在使用netbeans gui builder设计表单 (代码可以工作,但我希望它仅在单击顶部面板或“标题”时拖动表单)如何在netbeans中将jpanel声明为变量,以便使用它来拖动表单?[java swing],java,swing,netbeans,awt,Java,Swing,Netbeans,Awt,我想问一下,如何在netbeans中将jpanel声明为变量,以便使用它来拖动表单?我正在使用netbeans gui builder设计表单 (代码可以工作,但我希望它仅在单击顶部面板或“标题”时拖动表单) 我在您的代码中看不到任何JPanel,因此您的第一步是创建一个JPanel并将其添加到JFrame中,但是如果您有一个JPanel,那么就不要引用您的主菜单objectf,比如这里f.addMouseMotionListener(…和这里f.addMouseListener)(…只要用你的
我在您的代码中看不到任何JPanel,因此您的第一步是创建一个JPanel并将其添加到JFrame中,但是如果您有一个JPanel,那么就不要引用您的
主菜单objectf
,比如这里f.addMouseMotionListener(…
和这里f.addMouseListener)(…
只要用你的jpanel参考取代f
你的Panel.addMouseMotionListener(新的MouseMotionAdapter(){
。我建议你读一读Rob Camick(又名:)关于这个主题的博客。Rob是StackOverflow的重要贡献者,对这个主题非常精通。
int pX, pY;
public void resizeDragJPFrame() {
MainMenu f = new MainMenu();
f.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent me) {
// Get x,y and store them
pX = me.getX();
pY = me.getY();
}
public void mouseDragged(MouseEvent me) {
f.setLocation(f.getLocation().x + me.getX() - pX,
f.getLocation().y + me.getY() - pY);
}
});
f.addMouseMotionListener(new MouseMotionAdapter() {
public void mouseDragged(MouseEvent me) {
f.setLocation(f.getLocation().x + me.getX() - pX,
f.getLocation().y + me.getY() - pY);
}
});
f.setMinimumSize(new Dimension(400, 500));
f.setMaximumSize(new Dimension(800, 600));
f.setLocationRelativeTo(null);
f.setVisible(true);
f.setUndecorated(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
Runnable runnable = new Runnable() {
public void run() {
new MainMenu().resizeDragJPFrame();
}
};
SwingUtilities.invokeLater(runnable);
}