多平台统一管理软件接口,如何实现多平台统一管理软件接口
388
2022-12-31
本文目录一览:
内部类分为四种:
静态内部类(static inner classes)
成员内部类(member inner classes)
局部内部类(local inner classes)
匿名内部类(anonymous inner classes)
所以匿名内部类不是成员内部类.
匿名内部类没有类名,没有class关键字也没有extends和implements等关键字修饰。
匿名内部类会隐式地继承一个父类或实现一个接口。
有些接口实现类,往往就需要用一次, 所以不需要名字,代码显得简洁
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ChangFrameDemo extends JFrame {
JPanel jp1, jp2;//2个JPanel对象
JButton jb1;
boolean flag;//用于判断是打开第1还是第2个JPanel
public ChangFrameDemo() {
jp1 = new JPanel();
jp1.add(new JLabel("信息录入"));
jp1.setBackground(Color.YELLOW);
jp2 = new JPanel();
jp2.add(new JLabel("信息查询"));
jp2.setBackground(Color.LIGHT_GRAY);
jb1 = new JButton("切换内容");
JPanel jp3 = new JPanel();
jp3.add(jb1);
add(jp1);
add(jp3, BorderLayout.SOUTH);
setTitle("切换内容窗口");
setSize(380, 300);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
// 第一种写法,写一个类继承于 ActionListener 然后实现它的方法
// MyActionListener ma = new MyActionListener();
// jb1.addActionListener(ma);
// 下面是第二种方法
jb1.addActionListener(new ActionListener() {//事件响应
@Override
public void actionPerformed(ActionEvent e) {
Container pane = jb1.getRootPane().getContentPane();//得到JFrame的底层Pane
flag = !flag;
if (flag) {
pane.remove(jp1);//删除jp1
pane.add(jp2);//添加jp2
} else {
pane.remove(jp2);
pane.add(jp1);
}
pane.validate();//重构界面
pane.repaint();//重新绘制
}
});
}
public static void main(String[] args) {
new ChangFrameDemo();
}
//第一种写法需要的类
class MyActionListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
Container pane = jb1.getRootPane().getContentPane();//得到JFrame的底层Pane
flag = !flag;
if (flag) {
pane.remove(jp1);//删除jp1
pane.add(jp2);//添加jp2
} else {
pane.remove(jp2);
pane.add(jp1);
}
pane.validate();//重构界面
pane.repaint();//重新绘制
}
}
}
如果JDK升级到8.0 还支持更简洁的Lambda表达式
关于匿名内部类实现接口和匿名内部类实现接口有返回值的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 匿名内部类实现接口的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于匿名内部类实现接口有返回值、匿名内部类实现接口的信息别忘了在本站进行查找喔。版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~