I’m trying to get an output from a Bubblesort algorythm. (which I’m currently doing with system print out) to be displayed in a jlable in a another class when im pressing a JButton.
Im farly new to java so i don’t rlly know that much but i think i need to make the string where the output is stored public but i don’t know how without messing up the Bubblesort code….
Thanks in advance
I have three classes.
MainClass
public class MainClass {
public static void main(String[] args) {
new MeinFrame();
}
}
MeinFrame
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Arrays;
public class MeinFrame extends JFrame implements ActionListener{
JButton button;
JLabel ausgabe;
MeinFrame(){
//JPanel panel = new JPanel();
//panel.setBackground(Color.gray);
//panel.setBounds(0, 0, 480, 100);
ausgabe = new JLabel();
ausgabe.setBounds(200, 500, 720, 400);
ausgabe.setFont(new Font("Calibri", Font.PLAIN,25));
ausgabe.setText("Test");
JLabel label = new JLabel();
label.setText("Bitte Wähle eine Sortier Methode");
label.setFont(new Font("Calibri",Font.PLAIN,25));
label.setBounds(200, 0, 720, 100);
button = new JButton();
button.setBounds(200,100,100,50);
button.addActionListener(this);
button.setText("Bubble sort");
button.setFocusable(false);
this.setTitle("Sortier Algorythmen");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(720,480);
this.setVisible(true);
this.add(label);
this.add(button);
//this.add(panel);
this.setLayout(new BorderLayout());
this.add(ausgabe);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==button){
BubbleSortNames.main(null);
}
}
}
BubblesortNames
import java.util.Arrays;
public class BubbleSortNames {
public static void main(String[] args) {
// Namen aus der Tabelle Person
String[] names = {"Schmitt", "Jakob", "Oray", "Gross", "Müller","Schütz","Knapp"};
// Verweißt auf den Bubblesort das er Starten soll
bubbleSort(names);
// Ausgabe der sortierten Namen
System.out.println("Alphabetisch sortierte Namen: " + Arrays.toString(names));
}
public static void bubbleSort(String[] array) {
int n = array.length;
boolean swapped;
// Bubble Sort Algorithmus
for (int i = 0; i < n - 1; i++) {
swapped = false;
for (int j = 0; j < n - 1 - i; j++) {
if (array[j].compareTo(array[j + 1]) > 0) {
// Elemente tauschen
String temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
swapped = true;
}
System.out.println( Arrays.toString(array));
}
// Wenn in diesem Durchlauf keine Elemente getauscht wurden, ist die Liste bereits sortiert
if (!swapped) break;
}
}
}
I tried to get the string from the bubblesort class through a actionlistener. Sadly i can not get acces to the string.
Moritz Wolf is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.