Hallo,
wie ihr euch schon denken könnt, habe ich ein problemchen...^^
ich habe eine klasse sender, die eine instanz einer anderen klasse (die JDialog implementiert) erzeugt, doch dann werden die daten nicht von der JDialog-klasse an die aufrufende klasse gegeben...
hier die beiden klassen:
Klasse sender (hierbei ist nur die methode "voidCustom()" wichtig
klasse JDia (extends JDialog)
wie ihr euch schon denken könnt, habe ich ein problemchen...^^
ich habe eine klasse sender, die eine instanz einer anderen klasse (die JDialog implementiert) erzeugt, doch dann werden die daten nicht von der JDialog-klasse an die aufrufende klasse gegeben...
hier die beiden klassen:
Klasse sender (hierbei ist nur die methode "voidCustom()" wichtig
Java:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
import java.net.UnknownHostException;
public class sender{
int PORT;
String GROUP_ADDRESS;
InetAddress group;
MulticastSocket s;
byte[] buffer;
DatagramPacket packet;
public sender() throws IOException{
voidStandard();
}
public sender(String[] params) throws IOException{
//for(int a = 0; a < params.length; a++)
//{
//if(params[a].equals("-i")){voidCustom(); break;}
//else{voidStandard();}
//}
//System.out.println("Error reading parameters");
voidCustom();
}
void voidStandard() throws IOException{
PORT = 32224;
GROUP_ADDRESS = "239.255.255.250";
group = InetAddress.getByName(GROUP_ADDRESS);
s = new MulticastSocket(PORT);
s.joinGroup(group);
buffer = "Hello World".getBytes("UTF-8");
packet = new DatagramPacket(buffer, buffer.length, group, PORT);
s.send(packet);
}
void voidCustom() throws IOException{
JDia JD = new JDia();
PORT = JD.PORT;
GROUP_ADDRESS = JD.GROUP_ADDRESS;
group = InetAddress.getByName(GROUP_ADDRESS);
s = new MulticastSocket(PORT);
s.joinGroup(group);
buffer = JD.buffer;
packet = new DatagramPacket(buffer, buffer.length, group, PORT);
s.send(packet);
}
public static void main(String[] args) throws IOException {
if(args.length>0) {sender se = new sender(args);}
else {sender se = new sender();}
}
}
klasse JDia (extends JDialog)
Java:
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
public class JDia extends JDialog{
int PORT;
String GROUP_ADDRESS;
byte[] buffer;
JTextField[] jtf;
JLabel[] jl;
JButton jb;
public JDia() {
setSize(300, 200);
setLayout(null);
Dimension d = this.getToolkit().getScreenSize();
this.setLocation((int) ((d.getWidth() - this.getWidth()) / 2), (int) ((d.getHeight() - this.getHeight()) / 2));
setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
jb = new JButton("Confirm");
jb.setBounds(80, 120, 100, 20);
jb.setVisible(true);
add(jb);
jb.requestFocus();
jb.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e)
{
PORT = Integer.parseInt(jtf[0].getText());
GROUP_ADDRESS = jtf[1].getText();
try {
buffer = jtf[2].getText().getBytes("UTF8");
} catch (UnsupportedEncodingException e1) {}
setVisible(false);
}});
jl = new JLabel[3];
jl[0] = new JLabel("alt. Port: ");
jl[1] = new JLabel("alt. Group-Adress: ");
jl[2] = new JLabel("alt. Message: ");
jl[0].setVisible(true);
jl[1].setVisible(true);
jl[2].setVisible(true);
jl[0].setBounds(10, 10, 300, 15);
jl[1].setBounds(10, 50, 300, 15);
jl[2].setBounds(10, 90, 300, 15);
add(jl[0]);
add(jl[1]);
add(jl[2]);
jtf = new JTextField[3];
jtf[0] = new JTextField("32224");
jtf[1] = new JTextField("239.255.255.250");
jtf[2] = new JTextField("Hello World");
jtf[0].setVisible(true);
jtf[1].setVisible(true);
jtf[2].setVisible(true);
jtf[0].setBounds(170, 10, 100, 15);
jtf[1].setBounds(170, 50, 100, 15);
jtf[2].setBounds(170, 90, 100, 15);
jtf[0].setFocusable(false);
jtf[1].setFocusable(false);
jtf[2].setFocusable(false);
add(jtf[0]);
add(jtf[1]);
add(jtf[2]);
jtf[0].addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent evt) {
jtf[0].setText("");}});
jtf[1].addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent evt) {
jtf[1].setText("");}});
jtf[2].addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent evt) {
jtf[2].setText("");}});
setVisible(true);
}
public static void main(String[] args) throws IOException {
new JDia();
}
}