利用Windows部署服务通过网络,批量安装Windows 7旗舰版
2012-03-03 22:36
537 查看
项目本来需要一个带有复选框的树形控件,于是我找到了JIDE里的一个开源控件,研究了一下,发现无法实现需要的功能,而我自己又比较水,在网上找到的其他代码都不会用,只好自己写一个简单的,有些“旁门左道”的感觉...下面是实现代码:
程序实例截图:
项目截图:
舍弃JIDE方案截图:
原因:无法通过代码设置叶子节点的选择状态。
import java.awt.Dimension; import java.awt.Graphics; import java.awt.Image; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.image.BufferedImage; import java.awt.image.ConvolveOp; import java.awt.image.Kernel; import java.util.Random; import javax.swing.Action; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JFrame; public class HGCheckBoxTest extends JCheckBox implements ActionListener{ public static final int ALL_SELECTED =1; public static final int NONE_SELECTED = 2; public static final int SOME_SELECTED = 3; int state = NONE_SELECTED; public HGCheckBoxTest(int state){ super(); this.addActionListener(this); this.state = state; } public HGCheckBoxTest(Action a){ super(a); } public void paintComponent(Graphics g){ if(state == SOME_SELECTED){ this.setSelected(true); float[] my_kernel = { 0.10f, 0.10f, 0.10f, 0.10f, 0.20f, 0.10f, 0.10f, 0.10f, 0.10f }; ConvolveOp op = new ConvolveOp(new Kernel(3,3, my_kernel), ConvolveOp.EDGE_NO_OP, null); BufferedImage buf = new BufferedImage(getWidth(),getHeight(), BufferedImage.TYPE_INT_RGB); super.paintComponent(buf.getGraphics()); Image img = op.filter(buf,null); g.drawImage(img,0,0,null); }else{ if(state==ALL_SELECTED){ this.setSelected(true); }else if(state == NONE_SELECTED){ this.setSelected(false); } super.paintComponent(g); return; } } public int getState() { return state; } public void setState(int state) { this.state = state; } static int i =1; public static void main(String[] args){ JFrame frame = new JFrame("test CheckBox"); final HGCheckBoxTest testBox = new HGCheckBoxTest(3); JButton control = new JButton("change"); control.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub int test = i++%3+1; ( testBox).setState(test); testBox.repaint(); } }); frame.getContentPane().add(testBox); frame.getContentPane().add("South",control); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(new Dimension(200,200)); frame.setVisible(true); } @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub int test = i++%2+1; this.setState(test); //System.out.println(this.isSelected()); //System.out.println(this.getState()); } }
程序实例截图:
项目截图:
舍弃JIDE方案截图:
原因:无法通过代码设置叶子节点的选择状态。
相关文章推荐
- 利用Windows部署服务通过网络,批量安装Windows 7旗舰版
- 利用Windows部署服务通过网络,批量安装Windows 7旗舰版
- 利用Windows的部署服务网络批量安装Windows7/2008
- 利用RIS在网络中实现批量操作系统的安装
- 用windows通过网络安装redhat linux
- 利用RIS在网络中实现批量操作系统的安装
- 通过网络批量安装linux(带选择菜单)
- 通过PXE从网络启动安装Windows
- 网络学习(九)安装Windows 7旗舰版
- 利用RIS在网络中实现批量操作系统的安装
- 通过vsphere client创建虚拟机并且安装windows 2008 64位操作系统及网络配置
- 利用.iso 文件直接通过网络的 http 方式安装RedHat Linux 10.0
- windows下安装oracle 10g 出现检查网络配置需求未通过问题的解决
- 利用windows 2003实现从网络安装系统
- 利用ansible centos7 系统批量安装docker1.12 并添加docker macvlan 网络支持
- Windows系统下通过VMware安装Linux系统之网络配置
- 通过网络启动自动化安装CentOS 7
- 问题:无法通过Windows installer服务安装此安装程序包。您必须安装带有更新版本windows Installer服务的Windows。
- 利用TCP协议通过Socket编写的网络聊天工具2-通用类设计
- windows 7 旗舰版下,安装vs2010旗舰版终于成功!