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();
}
}

Swing常用容器的更多相关文章

  1. swing菜单,常用组件,常用容器

    1菜单 import javax.swing.*; import java.awt.*; import java.awt.event.InputEvent; import java.awt.event ...

  2. winform常用的属性(listview),常用容器(二者结合)

    ListVies控件主要用于展示数据(非常实用和重要的控件) FullRowSelect:设置是否行选择模式.(默认为false) (开启之后一下选中一行数据) ___________________ ...

  3. C++ STL中的常用容器浅谈

    STL是C/C++开发中一个非常重要的模板,而其中定义的各种容器也是非常方便我们大家使用.下面,我们就浅谈某些常用的容器.这里我们不涉及容器的基本操作之类,只是要讨论一下各个容器其各自的特点.STL中 ...

  4. SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器

    原文:SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器 上期回顾: SSIS从理论到实战,再到应用(2)----SSIS包的控制流   首先我们来看看包里面的变量 SSIS ...

  5. 深入解析C++ STL中的常用容器

    转载:http://blog.csdn.net/u013443618/article/details/49964299 这里我们不涉及容器的基本操作之类,只是要讨论一下各个容器其各自的特点.STL中的 ...

  6. docker 安装与常用命令与常用容器(containers)环境

    注意区别 container 与 image 的关系,container 的建立需要 image 的承载,也即 container 依赖 image,停止并删除了 container 并不会删除 im ...

  7. 2018.4.27 Java的Swing常用事件

    Swing常用事件 1.Java Swing中处理事件的一般步骤是: (1)新建一个组件(JButton) (2)将该组件添加到面板中(JPanel) (3)注册监听器以监听事件源产生的事件(如Act ...

  8. Swing学习篇 API [一]Swing常用组件

    1.按钮(Jbutton) Swing中的按钮是Jbutton,它是javax.swing.AbstracButton类的子类,swing中的按钮可以显示图像,并且可以将按钮设置为窗口的默认图标,而且 ...

  9. Qt学习笔记常用容器

    主要说Qt的以下几种容器 1.QList<T> 2.QLinkedList<T> 3.Map<T> 和一些常用的容器方法的使用 qSort qCopy qFind ...

随机推荐

  1. labview系列-中级计算器开发

    本例子通过对中级计算器的操练,实现对结构/字符串等基础知识的掌握和理解,为后续的编程工作提供基础. 计算器开发原理:通过按钮触发事件,再各个事件中编写相应加减乘除方法,并显示在结果中即可. 要点:临时 ...

  2. js学习笔记之公告逐行显示

    $(function(){ var newsListHeight = $(".news-list").height(); //获得内容的高度 var newsConHeight = ...

  3. C/C++入门

    C:面向过程-函数 C++:面向对象-类:向下兼容C 程序包含头文件+主函数 简单数据类型 long long型赋超过int型范围的初值,需要在初值后面加上LL,否则可能会编译错误 不要使用float ...

  4. 小马哥的 Java 项目实战营学习笔记(1)

    小马哥的 Java 项目实战营 小马哥的 Java 项目实战营 第二节:数据存储之 JDBC JDBC 核心 API 数据源 接口 - javax.sql.DataSource获取方式 1.普通对象初 ...

  5. 跟我一起写 Makefile(四)

    书写规则 ---- 规则包含两个部分,一个是依赖关系,一个是生成目标的方法. 在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出 ...

  6. WPF 线程开启等待动画

    public static Dictionary<string, object> Dic = new Dictionary<string, object>();//定义一个字典 ...

  7. MySQL学习07(规范化数据库设计)

    规范化数据库设计 当数据库比较复杂时我们需要设计数据库 糟糕的数据库设计 : 数据冗余,存储空间浪费 数据更新和插入的异常 程序性能差 良好的数据库设计 : 节省数据的存储空间 能够保证数据的完整性 ...

  8. 1051 Pop Sequence (25分)栈

    刷题 题意:栈的容量是5,从1~7这7个数字,写5个测试数据 做法:模拟栈 #include<bits/stdc++.h> using namespace std; const int m ...

  9. MOOC大学计算机课程推荐

    转自:https://zhuanlan.zhihu.com/p/30659834  这个是大佬总结的, 大学计算机课程 以下课程是我在MOOC上找到的所有我认为讲的好的. 主要是中国大学MOOC,学堂 ...

  10. 适配Android10 拍照,相册,裁剪,上传图片

    这篇文章主要介绍了适配Android 10(Q)后,调用系统拍照,系统相册,系统裁剪和上传问题,这是一个很常用的功能,但是在Android 6.0,Android 7.0和Android 10.0以上 ...