java学习10.15
今天学习了java图形化编程
import java.awt.*;
import java.awt.event.*;
public class FramePractice {
public static void main(String[] args) {
Frame frame = new Frame();//Frame是窗体,我们只需要创建这样一个对象就可以了,这样就会直接创建一个新的窗口
frame.setTitle("我是来学习这个技术的");
//// frame.setSize(500, 500); //可以用setSize方法设定窗体大小
frame.setBounds(500, 500, 500, 300);
// frame.setBackground(Color.white);//设置窗口背景颜色
frame.setResizable(false);//设置窗口大小是否固定 false为固定,不可以改变
frame.setAlwaysOnTop(true);//设置窗口是否始终展示在最前面
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//获取到屏幕尺寸
int x =(int)((screenSize.getWidth() - frame.getWidth()) / 2);//居中位置就是:屏幕尺寸/2-窗口尺寸/2;
int y =(int)((screenSize.getHeight() - frame.getHeight()) / 2);
frame.setLocation(x, y);
frame.setCursor(new Cursor(Cursor.HAND_CURSOR));//设置光标的形状
// frame.setFront(new Font("HeiTi==ti SC"),Font.BOLD,15);
Label label = new Label("666english");//添加标签只需要创建一个Label对象即可
label.setBounds(20,50,50,30);//必须设定标签的位置和大小,否则无法展示出来
label.setForeground(Color.white);
label.setBackground(Color.black);
frame.add(label);//使用add方法添加组件到窗口中
frame.setLayout(null);//当你调用 setLayout(null) 时,Swing 不会再自动处理组件的布局。你必须使用 setBounds(int x, int y, int width, int height) 方法来手动设置每个组件的位置和大小。
Button button = new Button("Click Me");
button.setBounds(100, 100, 100, 50);
frame.add(button);
TextField field = new TextField();
field.setBounds(100, 200, 100, 50);
frame.add(field);
field.setEchoChar('6');//将输入的字符在显示时替换为指定字符
Checkbox checkbox = new Checkbox("Remember");
checkbox.setBounds(100, 150, 100, 50);
frame.add(checkbox);
button.addActionListener(e -> {
String s = field.getText();
System.out.println(s);
System.out.println(checkbox.getState());
});
frame.setVisible(true);//默认情况下窗体是不可见的,我们如果要展示出来,还需要设置窗体可见性
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
frame.dispose();
}
});
// frame.addMouseListener(new MouseAdapter() {
// @Override
// public void mouseClicked(MouseEvent e) {
// System.out.println(e.getX()+","+e.getY());
// }
// });
// frame.addKeyListener(new KeyAdapter() {
// @Override
// public void keyTyped(KeyEvent e) {
// System.out.println(e.getKeyChar());
// }
// });
// frame.addWindowListener(new WindowListener() {
// @Override//窗口打开的时候
// public void windowOpened(WindowEvent e) {
//
// }
//
// @Override//窗口关闭时被调用
// public void windowClosing(WindowEvent e) {
//
// }
//
// @Override//窗口关闭后被调用
// public void windowClosed(WindowEvent e) {
//
// }
//
// @Override//窗口最小化时被调用
// public void windowIconified(WindowEvent e) {
//
// }
//
// @Override//窗口从最小化状态变为普通状态时调用
// public void windowDeiconified(WindowEvent e) {
//
// }
//
// @Override//当窗口变成活跃状态时被调用
// public void windowActivated(WindowEvent e) {
//
// }
//
// @Override//当窗口变成不活跃时被调用
// public void windowDeactivated(WindowEvent e) {
//
// }
//
//
// });
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!