关于这样的列子我也看了很多,不过就是没有源代码,我的代码如下:
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.tree.*;
class jiemian extends JFrame implements MouseMotionListener,MouseListener{
DefaultMutableTreeNode root=new DefaultMutableTreeNode("シニヒ羹愠ミア・");
DefaultMutableTreeNode node=null;
JTree tree=new JTree(root);
JSplitPane splitPane;
JScrollPane jp1=new JScrollPane(tree);//--------------------------tree----------------
JScrollPane jp2=new JScrollPane();//--------------------------picture----------------
JButton btn;
JButton jb;
int x,y;
jiemian(){
setTitle("hello");
jp2.setLayout(null);
//
btn=new JButton(new ImageIcon("cloud.png"));
btn.setContentAreaFilled(false);//ーエナ・イサマヤマヨ
btn.setBorder(null);//ボシ蔆カ
btn.setToolTipText("ホサヨテ: ");//ハ・」チツシ
btn.setHorizontalTextPosition(AbstractButton.CENTER);
btn.addMouseListener(this);
btn.addMouseMotionListener(this);
btn.setBounds(150,150,85,42);
jp2.add(btn);
///
btn=new JButton(new ImageIcon("node.png"));
btn.setContentAreaFilled(false);//ーエナ・イサマヤマヨ
btn.setBorder(null);//ボシ蔆カ
btn.setToolTipText("ホサヨテ: ");//ハ・」チツシ
btn.setHorizontalTextPosition(AbstractButton.CENTER);
btn.addMouseListener(this);
btn.addMouseMotionListener(this);
node=new DefaultMutableTreeNode("node1");
root.add(node);
btn.setBounds(100,100,40,40);
jp2.add(btn);
///
btn=new JButton(new ImageIcon("node.png"));
btn.setContentAreaFilled(false);//ーエナ・イサマヤマヨ
btn.setBorder(null);//ボシ蔆カ
btn.setToolTipText("ホサヨテ: ");//ハ・」チツシ
btn.setHorizontalTextPosition(AbstractButton.CENTER);
btn.addMouseListener(this);
btn.addMouseMotionListener(this);
node=new DefaultMutableTreeNode("node1");
root.add(node);
btn.setBounds(200,200,40,40);
jp2.add(btn);
//
Dimension dim=Toolkit.getDefaultToolkit().getScreenSize();
splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,jp1, jp2);
splitPane.setOneTouchExpandable(true);
splitPane.setDividerLocation(150);
Dimension minimumSize = new Dimension(100, 50);
jp1.setMinimumSize(minimumSize);
jp2.setMinimumSize(minimumSize);
splitPane.setPreferredSize(new Dimension(dim.width-5,dim.height-60));
JFrame.setDefaultLookAndFeelDecorated(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().add(splitPane);
pack();
setVisible(true);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{System.exit(0);}
});
}
public void mouseClicked(MouseEvent e)
{
}
public void mouseEntered(MouseEvent e)
{
}
public void mouseExited(MouseEvent e)
{
}
public void mouseReleased(MouseEvent e)
{
}
public void mousePressed(MouseEvent e)
{
}
public void mouseMoved(MouseEvent e)
{
x=e.getX();
y=e.getY();
}
public void mouseDragged(MouseEvent e){
jb=(JButton)e.getSource();
jb.setBounds((int)(jb.getBounds().getX())+e.getX()-x,(int)(jb.getBounds().getY())+e.getY()-y,(int)(jb.getBounds().getWidth()),(int)(jb.getBounds().getHeight()));
}
}
public class test{
public static void main(String args[]){
new jiemian();
}
}