最简单的界面,直接上图:
package swing;
import javax.swing.*;
public class test07 {
public static void main(String[] args) {
JFrame frame = new JFrame("超级棒棒糖");//创建窗口框架
frame.setSize(500,300);//这是设置窗口大小宽和高
frame.setVisible(true);//使创建好的页面显示出来
}
}
这是结果:窗口会出现在屏幕的左上角
逐渐加东西:
package swing;
import javax.swing.*;
public class test08 {
public static void main(String[] args) {
int WIDTH = 500;
int HEIGHT = 400;
JFrame frame = new JFrame("超级棒棒糖");//创建窗口框架,即顶层容器
frame.setLocation(300,300);//这个是指定窗口在屏幕中的位置的。PS:界面框架里的坐标零点都在左上角
frame.setSize(WIDTH,HEIGHT);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//使窗口上的最大化最小化,关闭发挥作用,,但是,有没有好像都可以使用,奇怪
//frame.setVisible(true);显示函数放在这不显示组件,,很奇怪
JPanel panel = new JPanel();//创建中间容器类对象
frame.setContentPane(panel);//将中间容器使用setContentPane()方法把该容器置为JFrame的内容面板
//基本组件是不可独立显示的组件,只能寄托在中间容器上
JButton button1 = new JButton("点这个");//创建一个基本组件,一个按钮
panel.add(button1);//将按钮添加到中间容器中
JLabel label1 = new JLabel("中午吃麻辣拌吧");//创建一个基本组件,一个标签
frame.add(label1);//但是现在直接用frame添加也可以了,有朋友知道为什么嘛
JTextField t1 = new JTextField(10);//创建一个基本组件,一个文本框,需要设定容量长度
JTextArea T1 = new JTextArea(10,15);//创建一个基本组件,一个文本域,需要设定行和列
frame.add(t1);
frame.add(T1);
frame.setVisible(true);//为什么我的这个显示函数放在最后才能显示那些组件,这也是个问题
}
}
结果是这样子的:
今天学按钮的动作事件
package swing;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileOutputStream;
public class test09 {
public static void main(String[] args) {
JFrame frame = new JFrame("想吃方便面的窗口" );
int width = 500;
int height = 400;
frame.setSize(width,height);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// frame.setVisible(true);
JPanel panel = new JPanel();
frame.setContentPane(panel);
Toolkit kit = Toolkit.getDefaultToolkit();//获取默认工具包
Dimension screenSize = kit.getScreenSize();//获取窗口尺寸
int x = (screenSize.width-width)/2;
int y = (screenSize.height-height)/2;
frame.setLocation(x,y);//窗口置于屏幕中央
JTextField t1 = new JTextField(10);
JLabel lable1 = new JLabel("*");
JTextField t2 = new JTextField(10);
JButton b1 = new JButton("=");
JTextField t3 = new JTextField(10);
panel.add(t1);
panel.add(lable1);
panel.add(t2);
panel.add(b1);
panel.add(t3);
b1.addActionListener(new ActionListener() {//给按钮创造一个匿名类来处理按钮的动作事件
@Override
public void actionPerformed(ActionEvent e) {//通过在侦听器-a和侦听器-b上调用actionPerformed方法处理actionPerformed事件。
t3.setText(String.valueOf(Integer.parseInt(t1.getText())*Integer.parseInt(t2.getText())));
}
});
frame.setVisible(true);
}
}
运行结果如下,界面窗口出现在屏幕正中间。点击等号按钮可以进行简单的计算。
今天写布局,用swing写一个小计算器页面
上码子
package swing;
import javax.swing.*;
import java.awt.*;
public class test10 {
public static void main(String[] args) {
JFrame frame = new JFrame("小田计算器");
int WIDTH = 300;
int HEIGHT = 400;
frame.setSize(WIDTH,HEIGHT);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screensize = toolkit.getScreenSize();
frame.setLocation((screensize.width-WIDTH)/2,(screensize.height-HEIGHT)/2);
JPanel panel = new JPanel();
frame.setContentPane(panel);
panel.setLayout(new BorderLayout());//BorderLayout()把容器分为东南西北中
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
panel.add(p1,"North");//将p1容器放在最上面
panel.add(p2);
GridLayout lay = new GridLayout(5,4);//GridLayout(行数,列数),将容器平均分配为几个块块
//FlowLayout,流式布局,水平的平均的格格
p2.setLayout(lay);
JTextArea t1 = new JTextArea(2,25);
JButton b1 = new JButton("C");JButton b2 = new JButton("%");
JButton b3 = new JButton("<——");JButton b4 = new JButton("÷");
JButton b5 = new JButton("7");JButton b6 = new JButton("8");
JButton b7 = new JButton("9");JButton b8 = new JButton("×");
JButton b9 = new JButton("4");JButton b10 = new JButton("5");
JButton b11 = new JButton("6");JButton b12 = new JButton("-");
JButton b13 = new JButton("1");JButton b14 = new JButton("2");
JButton b15 = new JButton("3");JButton b16 = new JButton("+");
JButton b17 = new JButton("00");JButton b18 = new JButton("0");
JButton b19 = new JButton(".");JButton b20 = new JButton("=");
p1.add(t1);
p2.add(b1);p2.add(b2);p2.add(b3);p2.add(b4);
p2.add(b5);p2.add(b6);p2.add(b7);p2.add(b8);
p2.add(b9);p2.add(b10);p2.add(b11);p2.add(b12);
p2.add(b13);p2.add(b14);p2.add(b15);p2.add(b16);
p2.add(b17);p2.add(b18);p2.add(b19);p2.add(b20);
frame.setVisible(true);
}
}
结果截图
功能下次实现,现在只能看 //啊这,,,