java图形界面GUI基础入门.docx
- 文档编号:29675422
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:37
- 大小:43.57KB
java图形界面GUI基础入门.docx
《java图形界面GUI基础入门.docx》由会员分享,可在线阅读,更多相关《java图形界面GUI基础入门.docx(37页珍藏版)》请在冰豆网上搜索。
java图形界面GUI基础入门
Compnent
packagepnent;
importjavax.swing.ButtonGroup;
importjavax.swing.JCheckBox;
importjavax.swing.JComboBox;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JPasswordField;
importjavax.swing.JRadioButton;
importjavax.swing.JTextArea;
importjavax.swing.JTextField;
importcn.itcast.util.FrameUtil;
/*
非容器组件:
*/
publicclassDemo1{
publicstaticvoidmain(String[]args){
JFrameframe=newJFrame("注册");
//创建一个面板
JPanelpanel=newJPanel();
frame.add(panel);
//用户名
JLabelnameLabel=newJLabel("用户名");
//用户名的输入框
JTextFieldnameField=newJTextField(12);
//把用户名的组件添加到面板上
panel.add(nameLabel);
panel.add(nameField);
//密码
JLabelpassLabel=newJLabel("密码");
//密码框
JPasswordFieldpassField=newJPasswordField(12);
//把密码的组件添加到面板
panel.add(passLabel);
panel.add(passField);
//性别--单选框
JLabelsexLabel=newJLabel("性别");
JRadioButtonman=newJRadioButton("男",true);
JRadioButtonwoman=newJRadioButton("女");
//如果是单选框必须要进行分组,同一个组的单选框只能选择其中的一个
ButtonGroupgroup=newButtonGroup();
group.add(woman);
group.add(man);
//把性别组件添加到面板上
panel.add(sexLabel);
panel.add(man);
panel.add(woman);
//来自城市--->下拉框
JLabelcityLabel=newJLabel("来自的城市");
Object[]arr={"北京","上海","广州","深圳","湛江"};
JComboBoxcitys=newJComboBox(arr);
panel.add(cityLabel);
panel.add(citys);
//兴趣爱好---->复选框
JLabelhobitLabel=newJLabel("兴趣爱好:
");
JCheckBoxcheckBox1=newJCheckBox("篮球",true);
JCheckBoxcheckBox2=newJCheckBox("java",true);
JCheckBoxcheckBox3=newJCheckBox("javascript");
JCheckBoxcheckBox4=newJCheckBox("android");
panel.add(hobitLabel);
panel.add(checkBox1);
panel.add(checkBox2);
panel.add(checkBox3);
panel.add(checkBox4);
//个人简介
JLabeljLabel=newJLabel("个人简介");
JTextAreaarea=newJTextArea(20,15);
area.setLineWrap(true);//设置自动换行
panel.add(jLabel);
panel.add(area);
FrameUtil.initFrame(frame,500,400);
}
}
packagepnent;
importjava.awt.BorderLayout;
importjavax.swing.JFrame;
importjavax.swing.JMenu;
importjavax.swing.JMenuBar;
importjavax.swing.JMenuItem;
/*
菜单组件
菜单条(MenuBar)、菜单(Menu)、菜单项(MenuItem)
菜单条可以添加菜单
菜单可以添加菜单项
复选菜单:
首先菜单添加菜单,菜单添加菜单项。
*/
importjavax.swing.JTextArea;
importcn.itcast.util.FrameUtil;
publicclassDemo2{
JFrameframe=newJFrame("记事本");
//菜单条
JMenuBarbar=newJMenuBar();
//文件菜单
JMenufileMenu=newJMenu("文件");
JMenueditMenu=newJMenu("编辑");
JMenuswitchMenu=newJMenu("切换工作目录");
//菜单项
JMenuItemopenMenu=newJMenuItem("打开");
JMenuItemsaveMenu=newJMenuItem("保存");
JMenuItemaboutMenu=newJMenuItem("关于");
JMenuItemcloseMenu=newJMenuItem("关闭");
JMenuItemworkMenu1=newJMenuItem("0910project");
JMenuItemworkMenu2=newJMenuItem("1208project");
JMenuItemworkMenu3=newJMenuItem("1110project");
JTextAreaarea=newJTextArea(20,30);
publicvoidinitNotepad(){
//菜单添加菜单项目
fileMenu.add(openMenu);
fileMenu.add(saveMenu);
editMenu.add(aboutMenu);
editMenu.add(closeMenu);
//复选菜单
switchMenu.add(workMenu1);
switchMenu.add(workMenu2);
switchMenu.add(workMenu3);
//菜单添加菜单就是复选菜单
fileMenu.add(switchMenu);
//菜单条添加菜单
bar.add(fileMenu);
bar.add(editMenu);
//添加菜单条
frame.add(bar,BorderLayout.NORTH);
frame.add(area);
FrameUtil.initFrame(frame,500,600);
}
publicstaticvoidmain(String[]args){
newDemo2().initNotepad();
}
}
Event
packagecn.itcast.event;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
/*
事件:
当发生了某个事件的时候,就会有相应处理方案。
事件源监听器事件处理方案
*/
importcn.itcast.util.FrameUtil;
publicclassDemo1{
publicstaticvoidmain(String[]args){
JFrameframe=newJFrame("窗体");
JButtonbutton=newJButton("点我啊");
frame.add(button);
//给按钮添加动作监听器动作时间监听器对于鼠标点击以及空格键都会起作用的。
button.addActionListener(newActionListener(){
//当按钮被点击的时候,就会调用actionPerformed的方法。
@Override
publicvoidactionPerformed(ActionEvente){//ActionEvent当前按钮被点击的时候,jvm就会把对应的时间传递ActionEvent,并且调用actionPerformed方法。
//System.out.println("哎呀,被点了...");
JButtonbutton=(JButton)e.getSource();//getSource()获取到事件源
if(button.getText().equals("点我啊")){
button.setText("点他吧");
}else{
button.setText("点我啊");
}
}
});
FrameUtil.initFrame(frame,200,200);
}
}
packagecn.itcast.event;
importjava.awt.event.MouseAdapter;
importjava.awt.event.MouseEvent;
importjava.awt.event.MouseListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importcn.itcast.util.FrameUtil;
/*
鼠标事件监听器
*/
publicclassDemo2{
publicstaticvoidmain(String[]args){
JFrameframe=newJFrame("鼠标事件监听器");
JButtonbutton=newJButton("按钮");
frame.add(button);
//给按钮添加鼠标事件监听器
/*button.addMouseListener(newMouseListener(){
@Override
publicvoidmouseReleased(MouseEvente){
System.out.println("鼠标松开...");
}
@Override
publicvoidmousePressed(MouseEvente){
System.out.println("鼠标按下..");
}
@Override
publicvoidmouseExited(MouseEvente){
System.out.println("鼠标移出...");
}
@Override
publicvoidmouseEntered(MouseEvente){
System.out.println("鼠标进入...");
}
@Override
publicvoidmouseClicked(MouseEvente){
System.out.println("鼠标单击..");
}
});
添加鼠标监听器的时候我只使用到单击事件,但是目前要我实现所有的方法?
?
解决方案:
适配器。
适配器是实现了MouseListener方法的所有方法,但是实现的方法全部都是空实现。
*/
button.addMouseListener(newMouseAdapter(){
@Override
publicvoidmouseClicked(MouseEvente){
//System.out.println("鼠标单击了..");
if(e.getClickCount()==2){
System.out.println("双击了..");
}
}
});
FrameUtil.initFrame(frame,300,300);
}
}
packagecn.itcast.event;
importjava.awt.event.KeyAdapter;
importjava.awt.event.KeyEvent;
importjava.awt.event.KeyListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importcn.itcast.util.FrameUtil;
/*
键盘事件监听器
*/
publicclassDemo3{
publicstaticvoidmain(String[]args){
JFrameframe=newJFrame("键盘事件监听器");
JButtonbutton=newJButton("按钮");
frame.add(button);
//给按钮添加键盘事件监听器
/*button.addKeyListener(newKeyListener(){
@Override
publicvoidkeyTyped(KeyEvente){
System.out.println("键入某个键");
}
@Override
publicvoidkeyReleased(KeyEvente){
//System.out.println("释放某个键");
}
@Override
publicvoidkeyPressed(KeyEvente){
System.out.println("按下某个键..");
}
});*/
button.addKeyListener(newKeyAdapter(){
@Override
publicvoidkeyPressed(KeyEvente){
//System.out.println("按下的字符:
"+e.getKeyChar());
//System.out.println("获取键对应的数值:
"+e.getKeyCode());
intcode=e.getKeyCode();
switch(code){
case38:
System.out.println("上");
break;
case40:
System.out.println("下");
break;
case37:
System.out.println("左");
break;
case39:
System.out.println("右");
break;
default:
break;
}
}
});
FrameUtil.initFrame(frame,300,300);
}
}
packagecn.itcast.event;
importjava.awt.BorderLayout;
importjava.awt.ScrollPane;
importjava.awt.Scrollbar;
importjava.awt.TextField;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.MouseAdapter;
importjava.awt.event.MouseEvent;
importjava.io.File;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
importjavax.swing.JScrollBar;
importjavax.swing.JTextArea;
importjavax.swing.JTextField;
importcn.itcast.util.FrameUtil;
publicclassFileSearch{
JFrameframe=newJFrame("文件搜索器");
JPanelpanel=newJPanel();
JTextFieldfield=newJTextField("请输入目录名...",15);
JButtonbutton=newJButton("搜索");
JTextAreaarea=newJTextArea(15,15);
//滚动条
ScrollPanebar=newScrollPane();
publicvoidinit(){
//先把area添加到滚动条上。
bar.add(area);
//先把组件添加到panel上
panel.add(field);
panel.add(button);
//给输入框添加事件
field.addMouseListener(newMouseAdapter(){
@Override
publicvoidmouseClicked(MouseEvente){
JTextFieldfield=(JTextField)e.getSource();
if(field.getText().equals("请输入目录名...")){
field.setText("");
}
}
});
//给按钮添加事件监听器
button.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
//获取输入框输入的路径
Stringpath=field.getText();
//使用输入的路径构建一个FIle对象
Filedir=newFile(path);
//找到目录下的所有子文件
File[]files=dir.listFiles();
for(Filefile:
files){//1208Project资料
area.setText(area.getText()+file.getName()+"\r\n");
}
}
});
//把面板添加到frame上
frame.add(panel,BorderLayout.NORTH);
frame.add(bar);
FrameUtil.initFrame(frame,300,400);
}
publicstaticvoidmain(String[]args){
newFileSearch().init();
}
}
packagecn.itcast.event;
importjava.awt.BorderLayout;
importjava.awt.FileDialog;
importjava.awt.TextArea;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjavax.swing.JFrame;
importjavax.swing.JMenu;
importjavax.swing.JMenuBar;
importjavax.swing.JMenuItem;
/*
菜单组件
菜单条(MenuBar)、菜单(Menu)、菜单项(MenuItem)
菜单条可以添加菜单
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 图形界面 GUI 基础 入门