求救:关于Swing的前一步,后一步,复制,粘贴,剪切,删除操作的源代码.各位谁有帮帮忙.
     另外一个比较白痴的问题就是.我想保存图片.如何使用swing做图片保存的工作啊(类)?
     在我的程序中使用了JGraph这个第三方插件.我在使用的时候用了一个cell.希望双击这个cell  可   以弹出对话框,但是发现这个cell的焦点非常的小.哪位高人知道怎么调大点阿?

解决方案 »

  1.   

    你是要搞jdk的还是自己的东西啊,前一步,后一步就很难直接实现呀,这个你看看javax.swing.undo里面的undomanager吧,比较烦,我也没用过,以前自己写的undomanager,帮你up
      

  2.   

    可以去看看 \j2sdk\demo\jfc\Stylepad的源代码。相应的类:
    javax.swing.text.StyledEditorKit
    包括一系列常用的编辑功能上一步,下一步稍微复杂点,不过你看Stylepad的源代码也就可以掌握了。
      

  3.   

    上一步、下一步代码:import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class Test extends JFrame {

    private JPanel pane = null, p = null;

    private CardLayout card = null;

    private JButton b_1 = null, b_2 = null;

    private JPanel p_1 = null, p_2 = null, p_3 = null; public Test() {
    card = new CardLayout(5, 5);
    pane = new JPanel(card);
    p = new JPanel();
    b_1 = new JButton("< 上一步");
    b_2 = new JButton("下一步 >");
    p.add(b_1);
    p.add(b_2);
    b_1.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e) {
    card.previous(pane);
    }});
    b_2.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e) {
    card.next(pane);
    }});
    p_1 = new JPanel();
    p_2 = new JPanel();
    p_3 = new JPanel();
    p_1.add(new JLabel("1"));
    p_2.add(new JLabel("2"));
    p_3.add(new JLabel("3"));
    pane.add(p_1, "1");
    pane.add(p_2, "2");
    pane.add(p_3, "3");
    this.getContentPane().add(pane);
    this.getContentPane().add(p, BorderLayout.SOUTH);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setSize(300, 200);
    this.setVisible(true);
    } public static void main(String[] args) {
    new Test();
    }
    }
      

  4.   

    好象理解错了,楼主想要的是文字处理的,那就看javax.swing.undo吧
      

  5.   

    JTextArea 类里面有复制,粘贴,剪切,删除等方法,
    下面讲一下前一步,后一步
    class Editor extends JTextArea{
        private UndoManager undomang = new UndoManager ()
        this.getDocument().addUndoableEditListener(new UndoableEditListener(){
           public void undoableEditHappened(UndoableEditEvent e) {
              undomang.addEdit(e.getEdit);
           }
        });
        public void undo(){
           if (undomang.canUndo())
           undomang.undo();
        } 
        public void redo(){
           if (undomang.canRedo())
           undomang.Redo();
        } }
      

  6.   

    您的代码我看不太明白阿。能不能帮我说说工作原理阿,是不是我一直对现有组件进行监听.然后执行 public void undoableEditHappened(UndoableEditEvent e) {
              undomang.addEdit(e.getEdit);
           }
    的方法?但是为什么我执行第二次的时候就说找不到节点了呢?郁闷能不能说说这个的工作原理阿?
      

  7.   

    给你推荐一个不错的教程,里面有例程,这个程序还算简单,用心研究一下应该能看懂吧。http://java.sun.com/docs/books/tutorial/uiswing/components/generaltext.html你要的功能都在里面了。