Hi,
ich versuche jetzt mal zu meinen mini Testprojekten jetzt mal nicht auf die Konsole aus zu geben, sondern mal eine einfache GUI auf zu bauen.
Ich hatte auch schon mal ein paar GUIs von Hand Programmiert in denen ich schon mal Variablen und Inhalte anzeigen lies, habe aber jetzt in diesem Beispiel den GUI Designer von Eclipse verwendet.
Es ist mit Absicht einfach gehalten um die verschiedenen Vorgehensweisen zu verstehen.
Das GUI:
Das Schliesssysmbol am oberen Fenster funktioniert.
Das obere Fenster sollen mehrere Verzeichnispfade enthalten, die beim Drücken von Ausführen irgendwas machen.
Mit dem Klick auf das Plus Zeichen öffnet sich ein Fenster, indem man Verzeichnisse auswählen sollen.
Aktuell öffnet sich ein JFileChooser, in dem man nur nach Dateien suchen kann.
Wie man das umbaut das es nur nach Verzeichnissen sucht habe ich bisher noch nicht heraus gefunden.
Beim Klick auf das Minus Symbol soll ein Verzeichnispfad wieder entfernt werden können.
Das untere Fenster sollen die Aktivitäten anzeigen, die ausgeführt werden, wie in der Konsole.
Die "schliessen" Schaltfläche funktioniert auch schon mal.
Also habe ich nun zwei Fragen:
1. Speichern der Verzeichnispfade.
Speichert man das in einer ArrayList, damit diese Flexibel ist ?
2. Wie muss es gespeichert werden, da es bei Programmende und beim Neustart erhalten bleiben soll.
Ich denke, das obere Fenster muss vielleicht eine JList sein und das untere ein Textfenster.
Bedanke mich für Eure Vorschläge.
Mi
ich versuche jetzt mal zu meinen mini Testprojekten jetzt mal nicht auf die Konsole aus zu geben, sondern mal eine einfache GUI auf zu bauen.
Ich hatte auch schon mal ein paar GUIs von Hand Programmiert in denen ich schon mal Variablen und Inhalte anzeigen lies, habe aber jetzt in diesem Beispiel den GUI Designer von Eclipse verwendet.
Es ist mit Absicht einfach gehalten um die verschiedenen Vorgehensweisen zu verstehen.
Das GUI:
Java:
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JList;
import javax.swing.JTextField;
public class Hauptfenster extends JFrame
{
private JPanel contentPane;
private JTextField textField_log;
/**
* Launch the application.
*/
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
try
{
Hauptfenster frame = new Hauptfenster();
frame.setVisible(true);
} catch (Exception e)
{
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Hauptfenster()
{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 491);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JButton btnSchliessen = new JButton("schliessen");
btnSchliessen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// Programmfenster schliessen
System.exit(0);
}
});
btnSchliessen.setBounds(327, 434, 117, 29);
contentPane.add(btnSchliessen);
JButton btnAusfuehren = new JButton("Ausf\u00FChren");
btnAusfuehren.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
btnAusfuehren.setBounds(6, 434, 117, 29);
contentPane.add(btnAusfuehren);
JButton btnAdd = new JButton("+");
btnAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// JFileChooser-Objekt erstellen
JFileChooser chooser = new JFileChooser();
// Dialog zum Oeffnen von Dateien anzeigen
int rueckgabeWert = chooser.showOpenDialog(null);
/* Abfrage, ob auf "Öffnen" geklickt wurde */
if(rueckgabeWert == JFileChooser.APPROVE_OPTION)
{
// Ausgabe der ausgewaehlten Datei
System.out.println("Die zu öffnende Datei ist: " + chooser.getSelectedFile().getName());
}
}
});
btnAdd.setBounds(6, 144, 40, 29);
contentPane.add(btnAdd);
JButton btnRemove = new JButton("-");
btnRemove.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
btnRemove.setBounds(41, 144, 40, 29);
contentPane.add(btnRemove);
textField_log = new JTextField();
textField_log.setBounds(6, 185, 438, 237);
contentPane.add(textField_log);
textField_log.setColumns(10);
JList list_path = new JList();
list_path.setBounds(6, 6, 438, 126);
contentPane.add(list_path);
}
}
Das Schliesssysmbol am oberen Fenster funktioniert.
Das obere Fenster sollen mehrere Verzeichnispfade enthalten, die beim Drücken von Ausführen irgendwas machen.
Mit dem Klick auf das Plus Zeichen öffnet sich ein Fenster, indem man Verzeichnisse auswählen sollen.
Aktuell öffnet sich ein JFileChooser, in dem man nur nach Dateien suchen kann.
Wie man das umbaut das es nur nach Verzeichnissen sucht habe ich bisher noch nicht heraus gefunden.
Beim Klick auf das Minus Symbol soll ein Verzeichnispfad wieder entfernt werden können.
Das untere Fenster sollen die Aktivitäten anzeigen, die ausgeführt werden, wie in der Konsole.
Die "schliessen" Schaltfläche funktioniert auch schon mal.
Also habe ich nun zwei Fragen:
1. Speichern der Verzeichnispfade.
Speichert man das in einer ArrayList, damit diese Flexibel ist ?
2. Wie muss es gespeichert werden, da es bei Programmende und beim Neustart erhalten bleiben soll.
Ich denke, das obere Fenster muss vielleicht eine JList sein und das untere ein Textfenster.
Bedanke mich für Eure Vorschläge.
Mi