# subnet rechner programmieren, hab keine ahnung wies geht!



## mazze1988 (4. Apr 2008)

hallo , 

muss für die schule nen subnet rechner programmieren!

hab jetzt hier mal den fram mit den buttons etc. erstellt!

kann mir da jemand sagen wie ich jetzt die einzelnen berechnungen machen kann...

oder kann das sogar jemand für mich da einfügen?

hab echt null ahnung wie ich jetzt weiter voregehen muss 


```
import java.awt.FlowLayout;
import java.awt.Rectangle;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JRadioButton;
import java.awt.Dimension;/**
 * Example AWT Frame with some common components on it
 */
public class AwtComponents extends java.awt.Frame {
	private JButton reset = null;

	private JButton Berechnen = null;

	private JLabel label1 = null;

	private JLabel label2 = null;

	private JTextField textip = null;

	private JLabel labelnetz = null;

	private JLabel netzlabel2 = null;

	private JRadioButton radio1 = null;

	private JRadioButton radio2 = null;

	private JRadioButton radio3 = null;

	private JLabel labela = null;

	private JLabel labelb = null;

	private JLabel labelc = null;

	private JLabel labelbedingungen = null;

	private JLabel hostlabel = null;

	private JLabel labeloder = null;

	private JLabel minlabel = null;

	private JTextField textmaxhost = null;

	private JTextField textminhost = null;

	private JLabel labelerg = null;

	private JLabel labelsubnet1 = null;

	private JLabel labelsubnet3 = null;

	private JLabel labelsubnet2 = null;

	private JLabel labelsubnet4 = null;

	private JLabel labeladressierbare = null;

	private JLabel labeladressierbare2 = null;

	private JLabel labelmoeglichesub = null;

	private JLabel labelsubnetmoeglich2 = null;

	private JLabel insgesamtadressierbarehostslabel = null;

	private JLabel insgesamtadressierbarehostslabel2 = null;

	public AwtComponents() {
		super();
		initialize();
	}

	/**
	 * Initialize the class.
	 */
	private void initialize() {
		insgesamtadressierbarehostslabel2 = new JLabel();
		insgesamtadressierbarehostslabel2.setBounds(new Rectangle(250, 463, 70, 18));
		insgesamtadressierbarehostslabel2.setText("");
		insgesamtadressierbarehostslabel = new JLabel();
		insgesamtadressierbarehostslabel.setBounds(new Rectangle(11, 465, 190, 18));
		insgesamtadressierbarehostslabel.setText("insgesamt adressierbare Hosts:");
		labelsubnetmoeglich2 = new JLabel();
		labelsubnetmoeglich2.setBounds(new Rectangle(250, 445, 143, 18));
		labelsubnetmoeglich2.setText("");
		labelmoeglichesub = new JLabel();
		labelmoeglichesub.setBounds(new Rectangle(11, 445, 162, 20));
		labelmoeglichesub.setText("maximal mögliche Subnets:");
		labeladressierbare2 = new JLabel();
		labeladressierbare2.setBounds(new Rectangle(250, 427, 157, 18));
		labeladressierbare2.setText("");
		labeladressierbare = new JLabel();
		labeladressierbare.setBounds(new Rectangle(11, 427, 194, 18));
		labeladressierbare.setText("adressierbare Hosts pro Subnet:");
		labelsubnet4 = new JLabel();
		labelsubnet4.setBounds(new Rectangle(250, 409, 104, 18));
		labelsubnet4.setText("");
		labelsubnet2 = new JLabel();
		labelsubnet2.setBounds(new Rectangle(250, 391, 141, 18));
		labelsubnet2.setText("");
		labelsubnet1 = new JLabel();
		labelsubnet1.setBounds(new Rectangle(11, 391, 114, 18));
		labelsubnet1.setText("Subnetmaske:");
		labelerg = new JLabel();
		labelerg.setBounds(new Rectangle(11, 360, 68, 20));
		labelerg.setText("Ergebnis");
		minlabel = new JLabel();
		minlabel.setBounds(new Rectangle(11, 335, 172, 18));
		minlabel.setText("Minimum Hosts pro Subnet");
		labeloder = new JLabel();
		labeloder.setBounds(new Rectangle(40, 318, 102, 18));
		labeloder.setText("oder");
		hostlabel = new JLabel();
		hostlabel.setBounds(new Rectangle(11, 300, 171, 18));
		hostlabel.setText("Maximum Hosts pro Subnet");
		labelbedingungen = new JLabel();
		labelbedingungen.setBounds(new Rectangle(11, 271, 78, 20));
		labelbedingungen.setText("Bedingungen");
		labelc = new JLabel();
		labelc.setBounds(new Rectangle(45, 240, 365, 15));
		labelc.setText("C = 192.000.000.000 - 223.255.255.255; 255.255.255.000 (24/8)");
		labelb = new JLabel();
		labelb.setBounds(new Rectangle(45, 217, 365, 16));
		labelb.setText("B = 128.000.000.000 - 191.255.255.255; 255.255.000.000 (16/16)");
		labela = new JLabel();
		labela.setBounds(new Rectangle(45, 195, 365, 15));
		labela.setText("A = 000.000.000.000 - 127.255.255.255; 255.000.000.000 (8/24)");
		netzlabel2 = new JLabel();
		netzlabel2.setBounds(new Rectangle(12, 149, 397, 29));
		netzlabel2.setText("Bei Berechnung über \"minimum Subnets\" Netzwerkklasse wählen : ");
		labelnetz = new JLabel();
		labelnetz.setBounds(new Rectangle(11, 108, 99, 20));
		labelnetz.setText("Netzwerkklasse");
		label2 = new JLabel();
		label2.setBounds(new Rectangle(11, 60, 212, 30));
		label2.setText("Beliebige IP aus der Range eingeben");
		label1 = new JLabel();
		label1.setBounds(new Rectangle(11, 36, 71, 20));
		label1.setText("IP Adresse");
		
		this.setLayout(null);
		this.setName("Frame1");
		this.setBounds(45, 25, 570, 570);
		this.setTitle("Net Calc (c) by mazze");
		this.add(getReset(), null);
		this.add(getBerechnen(), null);
		this.add(label1, null);
		this.add(label2, null);
		this.add(getTextip(), null);
		this.add(labelnetz, null);
		this.add(netzlabel2, null);
		this.add(getRadio1(), null);
		this.add(getRadio2(), null);
		this.add(getRadio3(), null);
		this.add(labela, null);
		this.add(labelb, null);
		this.add(labelc, null);
		this.add(labelbedingungen, null);
		this.add(hostlabel, null);
		this.add(labeloder, null);
		this.add(minlabel, null);
		this.add(getTextmaxhost(), null);
		this.add(getTextminhost(), null);
		this.add(labelerg, null);
		this.add(labelsubnet1, null);
		this.add(getLabelsubnet3(), null);
		this.add(labelsubnet2, null);
		this.add(labelsubnet4, null);
		this.add(labeladressierbare, null);
		this.add(labeladressierbare2, null);
		this.add(labelmoeglichesub, null);
		this.add(labelsubnetmoeglich2, null);
		this.add(insgesamtadressierbarehostslabel, null);
		this.add(insgesamtadressierbarehostslabel2, null);
	}

	/**
	 * This method initializes reset	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getReset() {
		if (reset == null) {
			reset = new JButton();
			reset.setBounds(new Rectangle(180, 520, 100, 25));
			reset.setText("Zurücksetzen");
		}
		return reset;
	}

	/**
	 * This method initializes Berechnen	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBerechnen() {
		if (Berechnen == null) {
			Berechnen = new JButton();
			Berechnen.setBounds(new Rectangle(280, 520, 100, 25));
			Berechnen.setText("Berechnen");
		}
		return Berechnen;
	}

	/**
	 * This method initializes textip	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTextip() {
		if (textip == null) {
			textip = new JTextField();
			textip.setBounds(new Rectangle(234, 60, 174, 30));
			textip.setText("xxx.xxx.xxx.xxx");
		}
		return textip;
	}

	/**
	 * This method initializes radio1	
	 * 	
	 * @return javax.swing.JRadioButton	
	 */
	private JRadioButton getRadio1() {
		if (radio1 == null) {
			radio1 = new JRadioButton();
			radio1.setBounds(new Rectangle(11, 195, 21, 21));
			radio1.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
				public void propertyChange(java.beans.PropertyChangeEvent e) {
					if ((e.getPropertyName().equals("enabled"))) {
						System.out.println("propertyChange(enabled)"); // TODO Auto-generated property Event stub "enabled" 
					}
				}
			});
		}
		return radio1;
	}

	/**
	 * This method initializes radio2	
	 * 	
	 * @return javax.swing.JRadioButton	
	 */
	private JRadioButton getRadio2() {
		if (radio2 == null) {
			radio2 = new JRadioButton();
			radio2.setBounds(new Rectangle(11, 215, 21, 21));
			radio2.addItemListener(new java.awt.event.ItemListener() {
				public void itemStateChanged(java.awt.event.ItemEvent e) {
					System.out.println("itemStateChanged()"); // TODO Auto-generated Event stub itemStateChanged()
				}
			});
		}
		return radio2;
	}

	/**
	 * This method initializes radio3	
	 * 	
	 * @return javax.swing.JRadioButton	
	 */
	private JRadioButton getRadio3() {
		if (radio3 == null) {
			radio3 = new JRadioButton();
			radio3.setBounds(new Rectangle(11, 236, 21, 21));
		}
		return radio3;
	}

	/**
	 * This method initializes textmaxhost	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTextmaxhost() {
		if (textmaxhost == null) {
			textmaxhost = new JTextField();
			textmaxhost.setBounds(new Rectangle(205, 300, 105, 18));
		}
		return textmaxhost;
	}

	/**
	 * This method initializes textminhost	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTextminhost() {
		if (textminhost == null) {
			textminhost = new JTextField();
			textminhost.setBounds(new Rectangle(205, 335, 105, 18));
		}
		return textminhost;
	}

	/**
	 * This method initializes labelsubnet3	
	 * 	
	 * @return javax.swing.JLabel	
	 */
	private JLabel getLabelsubnet3() {
		if (labelsubnet3 == null) {
			labelsubnet3 = new JLabel();
			labelsubnet3.setText("Subnetmaske binär:");
			labelsubnet3.setBounds(new Rectangle(11, 409, 136, 18));
		}
		return labelsubnet3;
	}

}
```


Bitte helft mir !!!!!



_L-ectron-X hat diesen Beitrag am 04.04.2008 um 17:03 Uhr editiert._
_Code-Tags eingefügt._


----------



## joern1 (4. Apr 2008)

Um die Button zum Leben zu erwecken, mußt Du das Interface ActionListener implementieren. 

Was soll denn ales berechnet werden ?


----------



## mazze1988 (4. Apr 2008)

es soll berechnet werden :

- subnetzmaske
- subnetzmaske binär
- adressierbare hosts pro subnet
- maximal mögliche subnets
- insgesamt adressierbare hosts


soll so werden wie der : 

http://netzwerk.freewarenetz.de/JavaSubnetRechner.html


danke euch


----------



## mazze1988 (5. Apr 2008)

irgendwer muss das doch können!
beziehungsweise mir helfen ^^


----------



## Jango (5. Apr 2008)

Bei dieser Aufgabenstellung kann man wohl davon ausgehen, dass ihr das nicht erst seit gestern habt.

>> hab echt null ahnung

zeugt nicht gerade von Selbstinitiative. Darum wird dir hier auch niemand helfen... Unglaublich! Der Boden für Phase V ist bereitet...


----------



## mazze1988 (5. Apr 2008)

wir sollen zum abschluss selbst ein java programm schreiben.

hatte in java durchgehend eine 5, da ich längere zeit gefehlt habe.

nun komm ich nicht mehr mit!

habs gerade mal hinbekommen den frame mit den buttons, textfeldern etc. zu erstellen.



also etwas selbstinitiative habe ich ja schon geleistet ...


----------



## Quaxli (6. Apr 2008)

mazze1988 hat gesagt.:
			
		

> also etwas selbstinitiative habe ich ja schon geleistet ...



Nicht wirklich. Du hast was zusammengefrickelt und wir sollen es für Dich fertig machen.
Selbstinitiative hieße den Tipp, den Dir Joern1 gegeben hat umzusetzen und wenn Du nicht weiter weist, konkrete Fragen zu stellen. Wie man zu einem Button einen ActionListener hinzufügt steht sicherlich in Deinen schulischen Unterlagen oder in denen Deiner Schulkameraden. Alternativ gibt es im Internet ziemlich viele Tutorials zu diesem Thema, zum Beispiel hier
bzw. mit konkretem Beispiel hier


----------



## Guest (7. Apr 2008)

Hi,

1. vielleicht solltest du dir die Grundlagen nochmals anschauen, wenn du bei deinen Prüfungen bis jetzt immer negativ warst.

2. Hie ein Link, wo eine JavaSubnetCalculator downgeloadet werden kann und du auch Zugriff zum Quellcode hast. Kannst dir hier Anregungen holen, wie du das umsetzen könntest.

http://www.partner-fuer-schule.nrw.de/javastars/programme.php


----------

