java中的一段,谁能读懂Component干什么用的
发布时间:2025-05-21 01:01:12 发布人:远客网络
一、java中的一段,谁能读懂Component干什么用的
1、public void mouseDragged(MouseEvent e)//从这个方法名上看可能是鼠标拖动的方法
2、 Component com=null;//Component应该是java.awt.Component,它是很多awt组件的父类型
3、 if(e.getSource() instanceof Component)//如果鼠标事件 e的发生源是Component(或它的子类)
4、 com=(Component)e.getSource();//将变量com赋值为鼠标事件的发生源
5、 if(com!=this)//如果得到的com变量不是这个类的实例本身(也说明了这个方法所在的类也是一个Component)
6、 move=true;//将标志变量move设为true
7、 e=SwingUtilities.convertMouseEvent(com,e,this);//将鼠标事件转化一下
8、 if(move)//如果标志变量move是true
9、 x=e.getX();//得到这个鼠标事件相对于产生它的组件的X坐标
10、 int w=com.getSize().width,//得到com组件的宽度(注意com组件就是产生e的组件)
11、 com.setLocation(x-w/2,y-h/2);//将com组件移到新的位置(这个位置有什么意义我还是搞不清楚)
二、Java中有哪些中间组件
1、javax.swing包中JComponent(轻组件)类是java.awt包中Container类的一个直接子类、Componenet类的一个间接子类。javax.swing包中的JFame类和JDialog类分别是java.awt包中类和Dialog类的直接子类、Window类的间接子类。
2、组件(component):Java把由Component类的子类或间接子类创建的对象称为一个组件,是图形用户界面中的可见部分,如按钮、标签.
3、容器(container): Java把由Container的子类或间接子类创建的对象称为一个容器,是图形用户界面中容纳其它组件的部分,如窗体。
4、removeAll():移掉容器中的全部组件。
5、remove(Component c)移掉容器中参数指定的组件。
6、validate():每当容器添加新的组件或移掉组件时,调用该方法以保证容器中的组件能正确显示出来。
7、public void setBounds(int a,int b,int width,int height)调用该方法可以设置出现在屏幕上时的初始位置是(a,b),即距屏幕左面a个像素、距屏幕上方b个像素;窗口的宽是width,高是height。
8、public void setSize(int width,int height):设置窗口的大小,窗口在屏幕出现是默认位置是(0,0)。
9、public void setVisible(boolean b):设置窗口是可见还是不可见,窗口默认是不可见的。
10、public void setResizable(boolean b):设置窗口是否可调整大小,窗口默认是可调整大小的。
11、public void setDefaultCloseOperation(int operation):设置单击窗体右上角的关闭图标后,程序会做出怎样的处理。
12、用来建立文本框的,用户可以在文本框输入单行的文本。
13、 JTextField(int x):创建文本框对象,可以在文本框中输入若干个字符,文本框的可见字符个数由参数x指定。
14、 JTextField(String s):创建文本框对象,则文本框的初始字符串为s,可以在文本框中输入若干个字符。
15、 public void setText(String s):设置文本框中的文本为参数s指定的文本。
16、 public String getText():获取文本框中的文本。
17、 public void setEditable(boolean b):指定文本框的可编辑性(默认为可编辑的)。
18、 public void setHorizontalAlignment(int alignment):设文本在文本框中的对齐方式,其中alignment的有效值确定对齐方式,如:LEFT、CENTER、RIGHT。
19、JTextArea类用来建立文本区,用户可以在文本区输入多行的文本。
20、 JTextArea(int rows, int columns):构造一个可见行和可见列分别是rows、columns的文本区。
21、 setLineWrap(boolean b):决定输入的文本能否在文本区的右边界自动换行。
22、 setWrapStyleWord(boolean b):决定是以单词为界(b取true时)或以字符为界(b取false时)进行换行。
23、 getText():获取文本区的文本。
24、 setText(String s):设置文本内容。
25、 append(String s):尾部加文本。
26、 insert(String s,int x):在文本区的指定位置处插入文本。
27、 public void copy():拷贝选定的区域。
28、 public void cut():剪切选定的区域。
29、 public void paste():在指定的区域粘贴。
30、用户可以在下拉列表看到第一个选项和它旁边的箭头按钮。
31、当用户单击箭头按钮时,选项列表打开。
32、 public JComboBox()创建一个没有选项下拉列表。
33、 public void addItem(Object anObject)增加选项。
34、 public int getSelectedIndex()返回当前下拉列表中被选中的选项的索引,索引的起始值是0。
35、 public Object getSelectedItem()返回当前下拉列表中被选中的选项。
36、 public void removeItemAt(int anIndex)从下拉列表的选项中删除索引值是anIndex选项。
37、 public void removeAllItems()删除全部选项。
38、 public void addItemListener(ItemListener)向下拉列表增加ItemEvent事件的监视器。
39、对于下拉式列表事件源,可以发生ItemEvent事件。
40、使用JTable可以创建一个表格对象。
41、 JTable(Object[ ][ ] data, Object[ ] columnName)
42、表格的视图将以行和列的形式显示数组data每个单元中对象的字符串表示。
43、参数columnName用来指定表格的列名。
44、用户在表格单元中输入的数据都被认为是一个Object对象。
45、用户通过表格视图对表格单元中的数据进行编辑,以达到修改二维数组data中对应的数据。
46、 Object[][] a= new Object[3][4];
47、 Object[] name={"商品名称","单价","销售量","销售额"};
48、 JTable table=new JTable(a,name);
三、java advice
java advice是什么,让我们一起了解一下?
Advice是在Join Point上执行的一个动作或者通知,一般通过拦截器调用。Spring有两大核心,IOC和AOP,在模块AOP里面有个advice。
在Spring-AOP中,增强(Advice)是如何实现的?
按照增强在目标类方法连接点的位置可以将增强划分为以下五类:
前置增强(org.springframework.aop.BeforeAdvice)表示在目标方法执行前来实施增强。
后置增强(org.springframework.aop.AfterReturningAdvice)表示在目标方法执行后来实施增强。
环绕增强(org.aopalliance.intercept.MethodInterceptor)表示在目标方法执行前后同时实施增强。
异常抛出增强(org.springframework.aop.ThrowsAdvice)表示在目标方法抛出异常后来实施增强。
引介增强(org.springframework.aop.introductioninterceptor)表示在目标类中添加一些新的方法和属性。
实战操作:Spring中Advice简单案例
@Configuration//配之类@EnableAspectJAutoProxy//启用AspectJ自动代理@ComponentScan(basePackages = {"spring01","spring02"}) //basePackages指定扫描的包 public class Config {}
@Aspect@Component public class Audience { /** * 相当于访问相同报下的不同的类,他们拥有相同的包路径,可以定义一个变量 */ @Pointcut("execution(* spring02.aspect.Performance.perform(..))") public void performance(){ } @Before("performance()") public void silenceCellPhones(){ System.out.println("====表演前将手机调静音"); } @Before("performance()") public void takeSeats(){ System.out.println("====表演前就做"); } @AfterReturning("performance()") public void applause(){ System.out.println("====表演后鼓掌"); } @AfterThrowing("performance()") public void demandRefund(){ System.out.println("====表演失败时退款"); } @Around("performance()") public void watchPerformance(ProceedingJoinPoint point){ try { System.out.println("====观看前1"); point.proceed(); System.out.println("====观看后2"); } catch (Throwable throwable) { throwable.printStackTrace(); } }}
public interface Performance { void perform();}
@Component("performance") public class PerformanceImpl implements Performance{ @Override public void perform() { System.out.println("======表演开始====="); }}
5、测试类@RunWith(SpringJUnit4ClassRunner.class)//启动测试时创建Spring上下文@ContextConfiguration(classes = {Config.class})//配置文件对象 public class TestClass { @Autowired private Performance performance; @Test public void test(){ performance.perform(); }}