Swing 学习日记2
今天是自学javaGUI的第二天,学习内容来自b站视频,也就花了一小时,看了三遍视频自己也能都敲出来,思路清晰代码也就来了。
分析
对话框一般是窗体的窗体,弹出的对话框一般需要关闭才能到父窗体,
在主函数设置一个JFrame窗体,在容器内设置一个按钮,当点击按钮后可以显示这个按钮的效果————也就是上面创建的对话框
JDialog的学习
package swing;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class class3 extends JDialog{
public class3(JFrame frame) {//构造方法初始化
super(frame,"对话框标题",true);
/*
* 第一个参数为显示的父窗体
* 第二个参数表示对话框的标题
* 第三个参数表示这个对话框是否阻塞父窗体
*/
setBounds(100,100,100,100);
Container c=getContentPane();//获取窗体
c.add(new JLabel("这是一个对话框"));
}
public static void main(String[] args) {
JFrame frame=new JFrame("父窗体");
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(50, 50, 300, 300);
Container c=frame.getContentPane();//获取窗体的容器
c.setLayout(new FlowLayout());//设置流布局
JButton button =new JButton("弹出对话框");
c.add(button);
//设置按钮监听
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
class3 cla=new class3(frame);//点击按钮会弹出对话框
cla.setVisible(true);//设置对话框窗体可见
}
});
}
}
JLabel
package swing;
import java.awt.Container;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class class4 extends JFrame {
public class4() {
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 100, 100);
Container c=getContentPane();
JLabel label=new JLabel("这是一个标签组件");
label.setText("更改标签内容");
System.out.println(label.getText());
label.setFont(new Font("微软雅黑",Font.BOLD,15));
/*font的方法
* 字体样式
* 字体加粗
* 字体大小
*/
c.add(label);//添加
}
public static void main(String[] args) {
new class4();
}
}
图片标签
package swing;
import java.awt.Container;
import java.net.URL;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
class class5 extends JFrame{
public class5() {
setBounds(100, 100, 700, 700);
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container c=getContentPane();
JLabel label=new JLabel("这是一个图片标签");
// URL url=class5.class.getResource("shanhai.jpg");//获取地址这里是同包下的路径
// System.out.println(url);
// Icon icon=new ImageIcon(url);//获取地址的图片对象
Icon icon=new ImageIcon("src/swing/shanhai.jpg");//第二种方式
label.setIcon(icon);//创建图片标签
c.add(label);
setVisible(true);
}
public static void main(String[] args) {
new class5();
}
}