NetBeans Mit NetBeans GUI Designer einen Wizard erstellen?

M

Mc Noise

Gast
Hey Leute,

Ich suche nach einer Möglichkeit mit dem NetBeans Gui Designer einen Wizard zu erstellen. Ich habe shcon viel gesucht, aber nichts brauchbares gefunden. Nun meine Frage, geht das überhaupt, und wenn ja, wie?

Ich hoffe mir kann jemand ein gutes Tutorial oder sowas zeigen :D

Schon mal Danke im Vorraus
 
M

Mc Noise

Gast
Oder anders gefragt, wie macht man überhaupt mit Java und Swing Wizards? (Ohne irgend eine nicht Standard API zu verwenden :D)
 

noxan

Mitglied
Hallo,
ich habe mal einen kleinen Wizard zum Einrichten einiger meiner Programme geschrieben (aber nicht mit einem Gui-Designer, sondern per Hand - sollte aber mit einen Gui-Designer genauso gut funktionieren).
Habe mal einen Screenshot angehängt, wie des ganze dann aussah ... ist das sowas wie programmieren willst (bin mir nur nicht sicher ob ich das gleiche meine wie du)?
 

Anhänge

  • wizard.jpg
    wizard.jpg
    12,6 KB · Aufrufe: 64
Zuletzt bearbeitet:
M

Mc Noise

Gast
Ja genau sowas meine ich :D

Ich habe mal Qt mit C++ programiert, und dort gab es vorgefertigte Sachen, die die Erstellung von so etwas deutlich vereinfacht haben. Ich hätte gedaht sowas gibt es dann auch in Swing :D

Ich habe nur die Java Wizard API gefunden, die ist aber nicht bei Java bzw. Swing als "Standard" enthalten und ich versuche immer weitere Abhängigkeiten zu vermeiden ;)
 

noxan

Mitglied
Gut, sollte mit NetBeans schnell zu bewerkstelligen sein.
Mein Wizard ist eigentlich ziemlich einfach aufgebaut. Es gibt drei JPanels, die mit BorderLayout.NORTH(oben), CENTER(mitte) und SOUTH(unten) positioniert wurden.

Das obere JPanel hat unten einen 1px breiten schwaren Rand(MatteBorder) und beinhaltet zwei JLabels, eins mit weißem Hintergrund und dem Text (mit html-tags formatiert) und ein anderes mit dem Icon (32x32Pixel).
Das untere JPanel besteht eigentlich nur aus drei JButtons, die sich mit einem Gui-Designer/Netbeans problemlos positionieren lassen sollten.

Das mittlere JPanel ist bei mir anfangs eigentlich leer und wird je nachdem wie oft Next/Back gedrückt wurde aus einer Liste von JPanels (die bei erstellen des Wizards mitgegeben wird) "geladen". (also wird durch ein JPanel aus der Liste ersetzt - liese sich sicherlich auch mit einem CardLayout machen)

PS. Wenn es dir helfen sollte, kann ich dir den Code auch gerne mal zukommen lassen.
 

noxan

Mitglied
Ach was solls is ja nix besonderes... ;)

Code:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.ArrayList;

import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;

/**
 * Wizard
 * @author noxan
 * @since 0.0.5
 * @version 0.0.7
 */
public class JWizard extends JFrame {
	private static final long serialVersionUID = 1L;
	
	public static void main(String[] args) {
		try { //look & feel
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
		} catch(Exception e) {
		}
		
		ArrayList<JPanel> p = new ArrayList<JPanel>();
		JPanel panel1 = new JPanel();
		panel1.setLayout(new BorderLayout());
		panel1.add(new JScrollPane(new JTextArea("HelloWorld...")), BorderLayout.CENTER);
		p.add(panel1);
		
		JPanel panel2 = new JPanel();
		panel2.add(new JLabel("test 2"));
		p.add(panel2);
		new JWizard("JWizard Demo", "This is a test!", p);
	}
	
	private JButton nextButton;
	private JButton backButton;
	private JButton cancelButton;
	private JPanel container;
	
	private String title;
	private String desc;
	private ArrayList<JPanel> panels;
	private int currentPanel;
	
	public JWizard(String title, String desc, ArrayList<JPanel> panels) {
		this.title = title;
		this.desc = desc;
		this.panels = panels;
		
		setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
		setTitle(title);
		setLayout(new BorderLayout());
		addWindowListener(new WindowAdapter() {
			@Override
			public void windowClosing(WindowEvent e) {
				cancel();
			}
		});
		
		initComponents();
		
		if(panels==null||panels.size()<1) {
			container.add(new JLabel("Empty Setup..."));
			nextButton.setEnabled(false);
			backButton.setEnabled(false);
		} else {
			updateButtons();
			updatePanel();
		}
		
		setLocation(100, 100);
		setLocationByPlatform(true);
		setSize(550, 380);
		setVisible(true);
	}
	
	private void initComponents() {
		//top
		JPanel topPanel = new JPanel();
		topPanel.setLayout(new BorderLayout());
		topPanel.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, Color.BLACK));
		JLabel textLabel = new JLabel("<html><font size=\"5\">"+title+"</font><br>"+desc+"</html>");
		textLabel.setOpaque(true);
		textLabel.setBackground(Color.WHITE);
		textLabel.setBorder(new EmptyBorder(5, 5, 5, 5));
		topPanel.add(textLabel, BorderLayout.CENTER);
		JLabel iconLabel = new JLabel(new ImageIcon(ClassLoader.getSystemResource("jkit/img/logo.png")));
		iconLabel.setPreferredSize(new Dimension(60, 60));
		iconLabel.setOpaque(true);
		iconLabel.setBackground(Color.WHITE);
		topPanel.add(iconLabel, BorderLayout.EAST);
		add(topPanel, BorderLayout.NORTH);
		//bottom
		JPanel bottomPanel = new JPanel();
		bottomPanel.setLayout(new FlowLayout(FlowLayout.RIGHT, 5, 2));
		backButton = new JButton("Back", new ImageIcon(ClassLoader.getSystemResource("jkit/img/back.png")));
		backButton.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				backButtonActionPerformed();
			}
		});
		bottomPanel.add(backButton);
		nextButton = new JButton("Next", new ImageIcon(ClassLoader.getSystemResource("jkit/img/next.png")));
		nextButton.setHorizontalTextPosition(JButton.LEFT);
		nextButton.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				nextButtonActionPerformed();
			}
		});
		bottomPanel.add(nextButton);
		cancelButton = new JButton("Cancel", new ImageIcon(ClassLoader.getSystemResource("jkit/img/cancel.png")));
		cancelButton.setHorizontalTextPosition(JButton.LEFT);
		cancelButton.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				cancel();
			}
		});
		bottomPanel.add(cancelButton);
		add(bottomPanel, BorderLayout.SOUTH);
		
		//container
		container = new JPanel();
		add(container, BorderLayout.CENTER);
	}
	
	private void nextButtonActionPerformed() {
		if(nextButton.getText().equals("Finish")) {
			dispose();
		} else {
			currentPanel++;
			updatePanel();
			updateButtons();
		}
	}
	
	private void backButtonActionPerformed() {
		currentPanel--;
		updatePanel();
		updateButtons();
	}
	
	private void updatePanel() {
		container.removeAll();
		container.setLayout(new BorderLayout());
		container.add(panels.get(currentPanel), BorderLayout.CENTER);
		container.validate();
		container.repaint();
	}
	
	private void updateButtons() {
		if(currentPanel>=(panels.size()-1)) { //finish
			nextButton.setText("Finish");
		} else {
			nextButton.setText("Next");
		}
		if(currentPanel<=0) {
			backButton.setEnabled(false);
		} else {
			backButton.setEnabled(true);
		}
	}
	
	private void cancel() {
		final String message = "Sind Sie sicher, dass Sie diesen Setup wirklich beenden wollen?";
		if(JOptionPane.YES_OPTION==JOptionPane.showConfirmDialog(this, message, title, JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE)) {
			dispose();
		}
	}
}
 
G

gman

Gast
Hi,

guck im "New File"-Dialog von Netbeans mal unter "Categories" -> "Swing GUI Forms".

Darunter sollte doch etwas sein was du gebrauchen könntest, oder hab ich irgendwas
falsch verstanden?
 
M

Mc Noise

Gast
@noxan

Also das sieht jetzt ja shcon mal ganz gut aus :D Hast du auch eine Idee wie man löst, dass der Next Button disabled, also grau wird, falls man z.B. noch eine Information angeben muss, oder die Eingaben überprüft werden können wenn man auf Next klickt? Das ist nämlich das was mir am meisten Probleme bereitet ^^
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J NetBeans Vorhandene View in Netbeans portieren und mit GUI Designer bearbeiten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
M Netbeans nutzt veraltete Bibliotheken für JAX-WS IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
W Debugger - Netbeans vs. VSCode IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
J Erstellen eines java Projekts mit Gradel in netbeans. IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 12
R Ist netbeans noch eine gute Wahl? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
mihe7 NetBeans 17 IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
MiMa Netbeans zu IntelliJ mit Maven konvertieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 14
I NetBeans 15 - Strg+Z (undo) und Strg+Y (redo) funzen nicht mehr nach Start der Java-Anwendung IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
J Netbeans 14 friert unter Linus Mint 21 prötzlich ein IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
mihe7 NetBeans NetBeans 16 ist da IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
M Altes Java Projekt in Netbeans importieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
MiMa Methoden in Netbeans vergleichen? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 23
M Linux Mint - Apache NetBeans 14 - Installationsanleitung deutsch IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
Neumi5694 Netbeans Warnung IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
T NetBeans NetBeans IDE 13 | Cannot find main class IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
J Seltsames Verhalten einer Klasse in netbeans IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
S License-Header in NetBeans 8.2 IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
G Netbeans 12.6 IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 9
kodela NetBeans App lässt sich ausßerhalb von NetBeans nicht ausführen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
J Netbeans - WakaTime - Plugin sendet keine Daten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
J Netbeans - Werte von Variablen überwachen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
donnico2 Fehler beim Installieren von Apache Netbeans IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
J netbeans - refactoring funktioniert nicht mehr IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
S Netbeans unterstützung für "Rule Switch" - Bug? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
O NetBeans Netbeans 12.0 - Hintergrundfarbe, auch im Navigator und Projekt umstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
J Kombinationsproblem: netbeans, gradle, mysql, json IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
O NetBeans Netbeans 8.2 mit JKD 15 ? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
J Seltsames Verhalten von netbeans bezüglich fxml Dateien IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
J netbeans 12 - wie -Xlint:deprecation aktivieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
J Netbeans 11.1 - Gradel aktualisieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
E Suche aktuelle Netbeans-Version für Win 10 IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 30
B Netbeans: Java Script Libraries funktioniert nicht IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
J NetBeans Projekt erstellen nicht möglich IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
G eigene Library In NetBeans 11.1 IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
J Bekomme keine lauffähige jar (netbeans/gradle) IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 12
J Install JasperReports on netbeans/gradle Projekt IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
W NetBeans Umzug von Netbeans 8.2 -> Netbeans 11.1: Plug-Ins IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
F Umstieg von Netbeans 8 mit JDK 8 auf Apache Netbeans 11 mit OpenJDK 12 IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
MiMa JavaFX in Netbeans 11 installieren? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 32
G NetBeans Netbeans 8.2 hängt sich auf IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 15
W Netbeans and Git Projects IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
J NetBeans Dokumentation anderer Projekte IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
N Weder Eclipse noch Netbeans funktionieren auf Ubuntu 18.04 IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
J NetBeans Download NetBeans und Java SDK IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
MiMa compile with -Xlint bei Netbeans IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
C Netbeans Meldung: Git Push Failed IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
TheJavaKid NetBeans JDBC Library mit Netbeans in Jarfile mit packen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 13
J Netbeans: Einsicht in den Programmlauf IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
J NetBeans Notizen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
C maven startet jetty, netbeans "run" startet glassfish IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
L NetBeans NetBeans autofill einrichten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
pcfreak9000 Eclipse Netbeans generics IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
K Netbeans + Maven: default pom Inhalt IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
B IDE Netbeans und Eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
M Netbeans CSS code completion abgeschaltet IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
TomatenBrot447 Netbeans ziegt mir falsche Tasteneingabe an IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
wolfgang63 Netbeans 8.2 ohne Projektvorlagen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
MiMa Ist Netbeans mist ??? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 14
K easy UML Plugin Netbeans 8.1 IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
WetWer NetBeans Wird NetBeans eigentlich noch unterstützt? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
F Netbeans Overriden - @ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
Tort-E NetBeans Netbeans RCP Spracheinstellungen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
M Netbeans GUI Builder größe ändern IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
Y Tomcat aus Netbeans heraus starten schlägt fehl IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
A Login-Programmierung mit NetBeans IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
H Kann ich Commandline-Parameter in Eclipse oder Netbeans einfacher übergeben? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
F Netbeans Pfad IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
D NetBeans Maven Projekt in Netbeans => WEKA wirft (java.lang.OutOfMemoryError: Java heap space) IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
S NetBeans 8.0.2: Startprogramm meldet: Hilfsprogramm für den Tastaturverlauf funktioniert nicht mehr IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
A in netbeans 8 mit jdk 8 erstellte jar's laufen nicht auf anderen rechnern ohne jdk IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
L NetBeans und Ausgabenumlenkung in Datei IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
T NetBeans - Tastatur-Tricks IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
M NetBeans und UTF8 Problem IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
J Javadocs in Netbeans 7.4 dt. integrieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
D [NetBeans] NetBeans Plattform Application Fragen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
Y (NetBeans JSP) Findet @page import="org.apache.commons.fileupload.* nicht IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
C Netbeans - keine Sourcen in jar IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
M NetBeans JavaDB Exception IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
N Netbeans import/export IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
F NetBeans JLable Text ändern? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
MiMa Hin und her gerissen Netbeans und Eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
A Checkstyle + Netbeans + cfg File IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
B NetBeans GUI Vererbung mit Netbeans IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
J NetBeans Netbeans, Linux -> Was ist ein "bootstrap class path error" und wie kann man das wegbekommen? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
D C++ mit NetBeans benutzen. IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
C Pfad von .netbeans ändern IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
D GUI Building in NetBeans nur mit Zusatztool möglich? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
S Umstieg auf Netbeans ... ? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
Jackii NetBeans Netbeans 7 Splash Screen erstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 10
T MDI-Anwendung mit NetBeans IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
D NetBeans NetBeans Shortcuts IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
Guybrush Threepwood Jar-Export unter Netbeans (vs. Eclipse) IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
H Netbeans löscht Quelldatein IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
P Netbeans: Java-Plattformen verwalten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
G Netbeans WS Client Clean and Build IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
H Test Project (x) Netbeans IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
L NetBeans 7.1 swing IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 9
L javafx import in NetBeans IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
M Netbeans JNI DLL IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
H Netbeans Debugger Session sichern? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3

Ähnliche Java Themen

Neue Themen


Oben