多点传送
来源:互联网 发布:数据保护线缠绕解 编辑:程序博客网 时间:2024/05/16 00:30
package demo.event.swing;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MulticastTest {
public static void main(String[] args) {
new MulticastFrame();
}
}
class MulticastFrame extends JFrame{
public MulticastFrame() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
Dimension dim=Toolkit.getDefaultToolkit().getScreenSize();
this.setBounds((dim.width-500)/2, (dim.height-500)/2, 500, 500);
this.setTitle("MulticastTest");
this.add(new MulticastPanel());
}
//使用内部类
class MulticastPanel extends JPanel{
public MulticastPanel() {
JButton newButton =new JButton("New ...");
final JButton closeAllButton=new JButton("Close All");
this.add(newButton);
this.add(closeAllButton);
ActionListener actionListener=new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
BlankFrame b=new BlankFrame(closeAllButton);
b.setVisible(true);
}
};
newButton.addActionListener(actionListener);
}
}
}
class BlankFrame extends JFrame{
private ActionListener closeListener;
private static final int DEFAULT_WIDTH=150;
private static final int DEFAULT_HEIGHT=200;
private static final int SPACING=40;
private static int counter=0;
public BlankFrame(final JButton closeButton) {
counter++;
this.setTitle("Frame "+counter);
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
setLocation(SPACING*counter,SPACING*counter);
closeListener=new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
closeButton.removeActionListener(closeListener);
dispose();
}
};
closeButton.addActionListener(closeListener);
}
}
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MulticastTest {
public static void main(String[] args) {
new MulticastFrame();
}
}
class MulticastFrame extends JFrame{
public MulticastFrame() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
Dimension dim=Toolkit.getDefaultToolkit().getScreenSize();
this.setBounds((dim.width-500)/2, (dim.height-500)/2, 500, 500);
this.setTitle("MulticastTest");
this.add(new MulticastPanel());
}
//使用内部类
class MulticastPanel extends JPanel{
public MulticastPanel() {
JButton newButton =new JButton("New ...");
final JButton closeAllButton=new JButton("Close All");
this.add(newButton);
this.add(closeAllButton);
ActionListener actionListener=new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
BlankFrame b=new BlankFrame(closeAllButton);
b.setVisible(true);
}
};
newButton.addActionListener(actionListener);
}
}
}
class BlankFrame extends JFrame{
private ActionListener closeListener;
private static final int DEFAULT_WIDTH=150;
private static final int DEFAULT_HEIGHT=200;
private static final int SPACING=40;
private static int counter=0;
public BlankFrame(final JButton closeButton) {
counter++;
this.setTitle("Frame "+counter);
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
setLocation(SPACING*counter,SPACING*counter);
closeListener=new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
closeButton.removeActionListener(closeListener);
dispose();
}
};
closeButton.addActionListener(closeListener);
}
}
- 多点传送
- 多点传送
- 代理的多点传送
- 使用多点传送
- 传送门的一对多点传送程序
- RFC988 主机扩展用于IP多点传送
- 利用UDP Socket技术实现IP多点传送详解
- 利用UDP Sockets技术实现IP多点传送
- 利用UDP Sockets技术实现IP多点传送
- RFC双语计划:rfc1112中文版(中英文对照)............主机扩展用于IP多点传送
- 在一个窗口中同时关闭多个窗口的问题(Swing中事件多点传送的问题)
- 多点耐心,再多点耐心,多点爱
- 多点触摸
- 多点委托
- 多点触摸
- 多点触摸
- 多点委托
- 多点触摸
- 有目的的活着-活的精彩
- wince 学习笔记3 sqlite的应用和操作
- 解决 error: cannot find openssl s 问题
- WPF入门系列教程(二) 深入剖析WPF Binding的使用方法
- Android权限级别(protectionLevel)
- 多点传送
- Linux shell逐行读取文件的方法
- Oracle ASM Advanced Tranning 5 —— Configure XDB for ASM Access Through FTP and HTML
- java程序员必知的8大排序
- UML用例图中包含(include)、扩展(extend)和泛化(generalization)三种关系详解
- hive 三种启动方式及用途
- do_QueryInterface分析
- Android 使用SQLiteDatabase操作SQLite数据库(二)
- Unity3D ItweenEvent 使用