去看 java 自带的 demo
解决方案 »
- java基础问题,java 方法为什么要覆写,在子类中重新写个方法不就好了吗
- 新手提问。。。。。。。。。。大家帮帮忙,看看那里出问题了,不能运行啊(java)
- QQ右上角那个天气预报是用的什么技术,怎样实现的?
- 这里有电脑书下载,有没有别的下载地址?
- java学习中应该注意些什么
- 如何取到List里面对象属性相同的对象放到另外的List里面
- java map两个疑问!
- 读文件
- Exception in thread "main" java.lang.NoClassDefFoundError:
- 大家帮忙看看,这是什么回事呀??
- 有关SDK?
- 请问各位大侠,在JAVA里怎么调用windows的API?
package helloworld;import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.border.*;public class Frame1 extends JFrame
{
private MyPanel jPanel1 = new MyPanel();
private JButton jButton1 = new JButton();
private int focusx,focusy,x,y;
private static Frame1 frame1 = null ;
private int px,py;
public Frame1()
{
try
{
jbInit();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
frame1 = new Frame1();
frame1.setSize(400,300);
frame1.show();
}
private void jbInit() throws Exception
{
border1 = BorderFactory.createBevelBorder(BevelBorder.LOWERED,Color.white,Color.white,new Color(103, 101, 98),new Color(148, 145, 140));
jButton1.setBounds(new Rectangle(88, 87, 79, 29));
jButton1.setText("jButton1");
jButton1.addMouseMotionListener(new java.awt.event.MouseMotionAdapter()
{
public void mouseDragged(MouseEvent e)
{
jButton1_mouseDragged(e);
}
});
jButton1.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
jButton1_mousePressed(e);
}
});
jButton2.setBounds(new Rectangle(30, 15, 79, 29));
jButton2.setText("jButton2");
jButton3.setBounds(new Rectangle(104, 76, 79, 29));
jButton3.setText("jButton3");
jPanel1.setBorder(border1);
this.getContentPane().add(jPanel1, BorderLayout.CENTER);
jPanel1.add(jButton1, null);
jPanel1.add(jButton2, null);
jPanel1.add(jButton3, null);
px = jPanel1.getX() ;
px = jPanel1.getY() ;
} void jButton1_mousePressed(MouseEvent e)
{
focusx = e.getX();
focusy = e.getY();
} void jButton1_mouseDragged(MouseEvent e)
{
Container container = jButton1.getParent();
int width = container.getWidth() ;
int height = container.getHeight() ; x = jButton1.getX() + e.getX() - focusx ;
y = jButton1.getY() + e.getY() - focusy ; jButton1.setLocation(x,y); container.repaint();
container= null; }
private JButton jButton2 = new JButton();
private JButton jButton3 = new JButton();
private Border border1; class MyPanel extends JLayeredPane{ public MyPanel() {
super();
} public void paint(Graphics g){
Point p1 = new Point(jButton2.getX() + jButton2.getWidth()-jPanel1.getX(),jButton2.getY()+jButton2.getHeight() - jPanel1.getY());
Point p2 = new Point(x,y); Graphics2D g2 = (Graphics2D)g;
g2.setStroke(new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND));
g2.setColor(Color.darkGray);
g2.drawLine((int)p1.getX(),(int)p1.getY(),(int)p2.getX(),(int)p2.getY()); g2.setStroke(new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND));
g2.setColor(Color.gray);
g2.drawLine((int)p1.getX(),(int)p1.getY(),(int)p2.getX(),(int)p2.getY()); super.paint(g);
}
}
}