PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sample Program : jNetworkStatus (Swing, Sockets)


pate33
26.01.2003, 17:16
Hi,

hab hier mal ein kleines prog geschrieben.

urspruenglich fuer meine schwester, dass sie weiss, wann das gateway an ist, und wann nicht. ;)

btw. falls jemand weiss, wie man in IDEA ein JAR (oder noch besser EXE) erzeugt, bitte melden. :)


/*
* Created by -leliel-
* Date: Jan 25, 2003
* Time: 7:10:20 PM
*/
package com.misc;

import javax.swing.*;
import java.awt.*;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;



/**
* jNetworkStatus - Checks a specified IP for online/offline status
*
* @author Patrick Heneise
* @version 1.0
*/
public class jNetworkStatus {

//--- constants ------------------------------------------------------------------------------------------------------
private static final String IP = "172.30.0.1";
private static final int PORT = 22;


//--- variables ------------------------------------------------------------------------------------------------------
private static Socket echoSocket = null;
private boolean bretStatus = false;

//--- GUI components -------------------------------------------------------------------------------------------------
private JLabel jlblStatus = new JLabel();
private JFrame frame = null;
private JPanel panel = null;


//--- main code below ------------------------------------------------------------------------------------------------
public jNetworkStatus() {
try {
bretStatus = checkIP();
jbInit();
}
catch (Exception e) {

}
}

/**
* checkIP() - Check the specified IP for echo.
*
* @return boolean true, if echo returns
*/
private boolean checkIP() {
try {
echoSocket = new Socket(IP, PORT);
echoSocket.close();
return true;
}
catch (UnknownHostException e) {
return false;
}
catch (IOException e) {
return false;
}
}

/**
* jbInit() - Init the GUI
* @throws Exception
*/
public void jbInit() throws Exception {

// init jframe and jpanel
frame = new JFrame("Internet Status");
panel = new JPanel();

// define components
jlblStatus.setFont(new Font("Verdena", 1, 16)); // font Tahoma, bold, 16
if(bretStatus == true) {
jlblStatus.setText("Online.");
jlblStatus.setForeground(new Color(0, 255, 0)); // green
}
else {
jlblStatus.setText("Offline.");
jlblStatus.setForeground(new Color(255, 0, 0)); // red
}

// set layout, size and position
frame.getContentPane().add(panel, BorderLayout.CENTER);
//frame.getContentPane().setLayout(null);
frame.setSize(new Dimension(200, 60));
frame.setResizable(false);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if(frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if(frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// add components
panel.add(jlblStatus);

// set visible
//frame.pack();
frame.setVisible(true);
}

/**
* main() ...
* @param args
*/
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
jNetworkStatus jns = new jNetworkStatus();
}
catch (Exception e) {

}
}
}


tweakyou
26.01.2003, 21:52
- lade Dir das Idea PlugIn IdeaToAnt http://www.intellij.org/twiki/bin/view/Main/IdeaToAntPlugin

- kopiere idea2ant.jar nach <Idea Verzeichnis>\plugins\ un

- starte Idea.

- lade dein Projekt

- Im Menü File export to Ant wählen

- auf der linken Seite Ant Build aufrufen und die XML Projekt Datei laden die gerade erzeugt wurde. (<DeinProjektName>.xml)

- mache folgende Anpassungen um die Manifest Datei zu erweitern

<target name="jar" depends="compile" description="jar the classes dirs">
<copy todir="${path.classes}">
<fileset dir="${path.source1}" includes="*.properties" />
</copy>
<jar destfile="${basedir}/${ant.project.name}.jar"
basedir="${path.classes}"
excludes="**/.dependency-info/**">

<manifest>
<attribute name="Main-Class" value="com.misc.jNetworkStatus"/>
</manifest>
</jar>
</target>


- wähle das Target jar aus und dein Projekt wird compiliert und in ein Jar Archiv gepackt.

- lege einen Link von javaw.exe an und trage bei den Eigenschafte zu dem Link -jar <DeinProjekt>.jar ein.

das wars, dein Programm kann mit Doppelklick gestartet werden.

cu tweakyou

pate33
26.01.2003, 23:04
ahhh ... viel besser ... :)

danke vielmals. :)