Bubblesort mit GUI (Swing)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Bubblesort mit GUI (Swing)

    Nicht durcheinander kommen, der meiste Source kommt durch die GUI, zwischendrin stecken noch ein paar Comments von Eclipse :)

    Die Main Class:
    [code:1]
    package bubblesort;

    public class Main
    {

    /**
    * @param args
    */
    public static void main(String[] args)
    {
    // TODO Auto-generated method stub
    Window hauptfenster = new Window();
    hauptfenster.pack();
    hauptfenster.setSize( 400 , 240 );
    hauptfenster.setLocation( 250 , 250 );

    hauptfenster.setVisible( true );
    hauptfenster.setResizable(false);
    }

    }
    [/code:1]


    Die Window Class mit dem Algorithmus:
    [code:1]
    package bubblesort;

    import javax.swing.JPanel;
    import javax.swing.JFrame;
    import javax.swing.JTextPane;
    import java.awt.Rectangle;
    import java.util.Random;

    import javax.swing.JButton;

    public class Window extends JFrame
    {

    private static final long serialVersionUID = 1L;

    private int[] zahl = new int[10];

    private JPanel jContentPane = null;

    private JButton jButton = null;

    private JButton jButton1 = null;

    private JTextPane jTextPane = null;

    private JTextPane jTextPane1 = null;

    /**
    * This is the default constructor
    */
    public Window()
    {
    super();
    initialize();
    }

    /**
    * This method initializes this
    *
    * @return void
    */
    private void initialize()
    {
    this.setSize(400, 240);
    this.setContentPane(getJContentPane());
    this.setTitle("JFrame");
    }

    /**
    * This method initializes jContentPane
    *
    * @return javax.swing.JPanel
    */
    private JPanel getJContentPane()
    {
    if (jContentPane == null)
    {
    jContentPane = new JPanel();
    jContentPane.setLayout(null);
    jContentPane.add(getJButton(), null);
    jContentPane.add(getJButton1(), null);
    jContentPane.add(getJTextPane(), null);
    jContentPane.add(getJTextPane1(), null);
    }
    return jContentPane;
    }

    /**
    * This method initializes jButton
    *
    * @return javax.swing.JButton
    */
    private JButton getJButton()
    {
    if (jButton == null)
    {
    jButton = new JButton();
    jButton.setBounds(new Rectangle(224, 52, 122, 38));
    jButton.setText("Zahlenfolge");
    jButton.addActionListener(new java.awt.event.ActionListener()
    {
    public void actionPerformed(java.awt.event.ActionEvent e)
    {

    doZufall();
    for ( int k = 0 ; k < 10 ; k++)
    {
    jTextPane.setText(jTextPane.getText() + String.valueOf(zahl[k]) + '\n' );
    }
    }


    });
    }
    return jButton;
    }



    /**
    * This method initializes jButton1
    *
    * @return javax.swing.JButton
    */
    private JButton getJButton1()
    {
    if (jButton1 == null)
    {
    jButton1 = new JButton();
    jButton1.setBounds(new Rectangle(225, 99, 122, 38));
    jButton1.setText("Bubblesort");
    jButton1.addActionListener(new java.awt.event.ActionListener()
    {
    public void actionPerformed(java.awt.event.ActionEvent e)
    {
    int speicher;
    for ( int n = 0 ; n < 10 ; n++)
    {
    for ( int k = 0 ; k < 9 ; k++)
    {
    if ( zahl[k] > zahl[k+1] )
    {
    speicher = zahl[k+1];
    zahl[k+1] = zahl[k];
    zahl[k] = speicher ;
    }
    }
    }
    for ( int k = 0 ; k < 10 ; k++ )
    {
    jTextPane1.setText(jTextPane1.getText() + String.valueOf(zahl[k]) + '\n' );
    }
    }

    });
    }
    return jButton1;
    }

    /**
    * This method initializes jTextPane
    *
    * @return javax.swing.JTextPane
    */
    private JTextPane getJTextPane()
    {
    if (jTextPane == null)
    {
    jTextPane = new JTextPane();
    jTextPane.setBounds(new Rectangle(21, 16, 80, 163));
    }
    return jTextPane;
    }

    /**
    * This method initializes jTextPane1
    *
    * @return javax.swing.JTextPane
    */
    private JTextPane getJTextPane1()
    {
    if (jTextPane1 == null)
    {
    jTextPane1 = new JTextPane();
    jTextPane1.setBounds(new Rectangle(121, 17, 81, 161));
    }
    return jTextPane1;
    }

    private void doZufall()
    {
    //int[] zahl = new int[10];

    Random zufall;
    zufall = new Random();

    for (int k = 0 ; k < 10 ; k++)
    {
    zahl[k] = zufall.nextInt(1000) + 1 ;
    }


    }

    public int[] getZahl()
    {
    return zahl;
    }

    } // @jve:decl-index=0:visual-constraint="69,55"
    [/code:1]
    mfg KC