3、Swing(AWT的子类)

3.1窗口、面板

public class myJFrame extends JFrame {
//JFrame是一个顶级窗口
public myJFrame() {
setBounds(100, 100, 400, 400);
setVisible(true);
//swing关闭窗口的方法
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
}
//JFrame是Frame的子类
class Demo01JFrame extends myJFrame{
//JFrame是一个顶级窗口
public Demo01JFrame(){ //组件都是在容器中设置
//获得容器
Container container = this.getContentPane(); //JFrame也属于一个容器,需要将容器实例化
container.setBackground(new Color(172, 26, 9));
container.setLayout(null); //添加面板
JPanel jP = new JPanel();
jP.setBackground(new Color(1,50,1));
jP.setBounds(100,100,200,200); add(jP);
}
} //有一定的偏移,因为将顶部高度也算在其中了

3.2弹窗

class Demo02Frame extends myJFrame{
public Demo02Frame(){
//容器
Container contentPane = this.getContentPane();
//绝对布局
contentPane.setLayout(null);
Button btn1 = new Button("btn1");
btn1.setBounds(100,100,70,30);
btn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent actionEvent) {
new myJDialog();
}
});
contentPane.add(btn1);
}
} //弹窗属性和frame类似
class myJDialog extends JDialog {
public myJDialog() {
setVisible(true);
setBounds(500,500,300,300);
this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); //任何组件都需要放到容器当中,否则无效
Container container = this.getContentPane();
//container.setLayout(new FlowLayout(FlowLayout.CENTER)); Label label = new Label("成功弹出弹窗");
//如果显示中文只能设置为MS Song字体,否则的话就会显示方框状的乱码
label.setFont(new Font("MS Song", Font.PLAIN, 9));
container.add(label);
}
}

3.3 imageIcon

public class IconJFrame extends myJFrame {
public IconJFrame(){
setSize(1000,1000); //图片在标签上显示
JLabel jlabel = new JLabel();
URL url = IconJFrame.class.getResource("tp.png");//直接获取同级目录下的图片地址
ImageIcon imageIcon = new ImageIcon(url);
//设置图片
jlabel.setIcon(imageIcon);
add(jlabel);
setVisible(true);
}
public static void main(String[] args) {
new IconJFrame();
}
}

3.4 JScrollPane 滚动条面板

public class JScrollDemo extends myJFrame{
public JScrollDemo(){
//获取容器
Container container = this.getContentPane(); //创建文本域
JTextArea jtArea = new JTextArea(50,50);
jtArea.setText("hello"); //创建一个滚动条面板
JScrollPane scrollPane = new JScrollPane(jtArea);//添加了文本域
scrollPane.setBounds(100,100,200,100); container.add(scrollPane);
setVisible(true);
} public static void main(String[] args) {
new JScrollDemo();
}
}

最新文章

  1. 【codevs1034】 家园
  2. 【leetcode】Min Stack(easy)
  3. 能源项目xml文件 -- springMVC-servlet.xml -- default-lazy-init
  4. Comparable & Comparator
  5. centos svn快速搭建
  6. 借助 AOP 为 Java Web 应用记录性能数据
  7. CSS XHTML规范化命名参考
  8. HDU 2602 Bone Collector - from lanshui_Yang
  9. LOJ #6041. 事情的相似度
  10. ibm云时代的转型
  11. linux服务器安装Mysql后,只能看到information_schema/test这两个库,无法修改密码
  12. BZOJ3536 : [Usaco2014 Open]Cow Optics
  13. 【备忘】SQL语句增加字段、修改字段、修改类型、修改默认值
  14. JMeter—定时器(八)
  15. POJ 1375 Intervals 光源投影【平面几何】
  16. backBone.js之Model篇 (1) 简单实例
  17. 第四章 数据更新 4-1 数据的插入(INSERT 语句的使用方法)
  18. 如何用python轻松破解wifi密码( 源码 )
  19. pow函数(数学次方)在c语言的用法,两种编写方法实例( 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值)
  20. BZOJ1038 瞭望塔

热门文章

  1. vue+element实现分页--之--前端分页
  2. python2 与 python3 依赖包冲突问题
  3. ABC165C题解
  4. JUC学习笔记(三)
  5. flink clickhouse-jdbc和flink-connector 写入数据到clickhouse因为jar包冲突导致的60 seconds.Please check if the requested resources are available in the YARN cluster和Could not resolve ResourceManager address akka报错血案
  6. WPF listbox 实现动态滚轮下拉定位
  7. 【Java】jeesite使用学习
  8. linux 磁盘IO速度测试
  9. VLAN-2 配置Trunk接口
  10. JVM 基础面试题总结