当前位置: 首页 > news >正文

只放一个图片做网站网站建设的特色

只放一个图片做网站,网站建设的特色,不花钱怎么做网站运营,如何做网站授权【JAVA入门】Day17 - GUI 文章目录 【JAVA入门】Day17 - GUI一、组件二、事件 GUI 即图形化界面。 一、组件 一个 Java 的图形化界面项目主要用到了下面几种组件。 Java 中最外层的窗体叫做 JFrame。Java 中最上层的菜单叫做 JMenuBar。Java 中管理文字和图片的容器叫做 JLab…【JAVA入门】Day17 - GUI 文章目录 【JAVA入门】Day17 - GUI一、组件二、事件 GUI 即图形化界面。 一、组件 一个 Java 的图形化界面项目主要用到了下面几种组件。 Java 中最外层的窗体叫做 JFrame。Java 中最上层的菜单叫做 JMenuBar。Java 中管理文字和图片的容器叫做 JLabel。 【练习1】创建主界面1。 public class App {public static void main(String[] args) {//表示程序的启动入口//想要启动哪个界面就创建它的对象new LoginJFrame(); //调用默认空参构造方法} }public class GameJFrame extends JFrame {//1.创建一个游戏的主界面//属性宽 高 行为 setSize setVisible//规定GameJFrame 这个界面表示的是游戏的主界面public GameJFrame() {this.setSize(603, 680);this.setVisible(true);} }public class RegisterJFrame extends JFrame {//注册界面public RegisterJFrame() {this.setSize(488, 430);this.setVisible(true);} }public class LoginJFrame extends JFrame {//登录界面public LoginJFrame() {this.setSize(488, 430);this.setVisible(true);} }【练习2】设置 GameJFrame的相关方法。 public GameJFrame() {//设置界面的宽高this.setSize(603, 680);//设置界面的标题this.setTitle(拼图单机版 v1.0);//设置界面置顶this.setAlwaysOnTop(true);//设置界面居中this.setLocationRelativeTo(null);//设置游戏的关闭模式this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//让窗体显示出来建议写在最后this.setVisible(true);}【练习3】在 GameJFrame 窗体上方添加菜单。 public GameJFrame() {//设置界面的宽高this.setSize(603, 680);//设置界面的标题this.setTitle(拼图单机版 v1.0);//设置界面置顶this.setAlwaysOnTop(true);//设置界面居中this.setLocationRelativeTo(null);//设置游戏的关闭模式this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//初始化菜单//创建整个的菜单对象JMenuBar jMenuBar new JMenuBar();//创建菜单上的两个选项的对象功能 关于我们JMenu functionJMenu new JMenu(功能);JMenu aboutJMenu new JMenu(关于我们);//创建选项下面的条目对象JMenuItem replayItem new JMenuItem(重新游戏);JMenuItem reloginItem new JMenuItem(重新登录);JMenuItem closeItem new JMenuItem(关闭游戏);JMenuItem accountItem new JMenuItem(公众号);//将每一个选项下的条目添加到选项当中functionJMenu.add(replayItem);functionJMenu.add(reloginItem);functionJMenu.add(closeItem);aboutJMenu.add(accountItem);//将菜单里的两个选项添加到菜单当中jMenuBar.add(functionJMenu);jMenuBar.add(aboutJMenu);//给整个界面设置菜单this.setJMenuBar(jMenuBar);//让窗体显示出来建议写在最后this.setVisible(true);}将构造方法中的代码进行抽取抽取到不同的方法中。 public GameJFrame() {//初始化界面initJFrame();//初始化菜单initJMenuBar();//让窗体显示出来建议写在最后this.setVisible(true);}private void initJMenuBar() {//初始化菜单//创建整个的菜单对象JMenuBar jMenuBar new JMenuBar();//创建菜单上的两个选项的对象功能 关于我们JMenu functionJMenu new JMenu(功能);JMenu aboutJMenu new JMenu(关于我们);//创建选项下面的条目对象JMenuItem replayItem new JMenuItem(重新游戏);JMenuItem reloginItem new JMenuItem(重新登录);JMenuItem closeItem new JMenuItem(关闭游戏);JMenuItem accountItem new JMenuItem(公众号);//将每一个选项下的条目添加到选项当中functionJMenu.add(replayItem);functionJMenu.add(reloginItem);functionJMenu.add(closeItem);aboutJMenu.add(accountItem);//将菜单里的两个选项添加到菜单当中jMenuBar.add(functionJMenu);jMenuBar.add(aboutJMenu);//给整个界面设置菜单this.setJMenuBar(jMenuBar);}private void initJFrame() {//设置界面的宽高this.setSize(603, 680);//设置界面的标题this.setTitle(拼图单机版 v1.0);//设置界面置顶this.setAlwaysOnTop(true);//设置界面居中this.setLocationRelativeTo(null);//设置游戏的关闭模式this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);}【练习4】添加图片。 private void initImage() {//创建一个图片ImageIcon的对象ImageIcon icon new ImageIcon(D:\\IdeaProjects\\PuzzleGame\\image\\daxiaoqiao\\1.jpg);//创建一个JLabel的对象管理容器JLabel jLabel new JLabel(icon);//把管理容器添加到界面中this.add(jLabel);}注意窗体和图片之间其实还有一个隐藏的容器布局方式容器这个容器可以用 getContentPane() 来获取我们添加的图片实质上是添加进了这个容器当中如果没有设定这个容器的特殊要求它会默认把图片放到居中位置。如果不想将图片放到正中央就需要把这个默认机制取消掉我们可以使用 setLayout(null) 来实现。 //在JFrame的初始化方法中//取消掉默认居中布局this.setLayout(null);private void initImage() {//创建一个图片ImageIcon的对象ImageIcon icon new ImageIcon(D:\\IdeaProjects\\PuzzleGame\\image\\daxiaoqiao\\1.jpg);//创建一个JLabel的对象管理容器JLabel jLabel new JLabel(icon);//指定图片位置jLabel.setBounds(0, 0, 105, 105);//把管理容器添加到布局容器中this.getContentPane().add(jLabel);}【练习5】打乱一维数组中的数据。 需求把一个一维数组中的数据0~15打乱顺序然后再以4个一组的方式添加到二维数组中。 package test;import java.util.Random;public class RandomTest {public static void main(String[] args) {int[] tempArr {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};Random r new Random();for(int i 0; i tempArr.length; i) {//获取随机索引int index r.nextInt(tempArr.length);int temp 0;//交换两个索引上的数据temp tempArr[i];tempArr[i] tempArr[index];tempArr[index] temp;//遍历数组System.out.print(tempArr[i] );}System.out.println();//创建一个二维数组int[][] data new int[4][4];//给二维数组添加数据//遍历tempArr每一个元素把每一个元素依次添加到二维数组中for (int i 0; i tempArr.length; i) {data[i / 4][i % 4] tempArr[i];}//遍历二维数组for(int i 0 ;i 4; i) {for(int j 0; j 4; j) {System.out.print(data[i][j] );}System.out.println();}} }【练习6】打乱图片。 private void initData() {int[] tempArr {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};Random r new Random();for(int i 0; i tempArr.length; i) {//获取随机索引int index r.nextInt(tempArr.length);//交换两个索引上的数据int temp tempArr[i];tempArr[i] tempArr[index];tempArr[index] temp;}//给二维数组添加数据//遍历tempArr每一个元素把每一个元素依次添加到二维数组中for (int i 0; i tempArr.length; i) {data[i / 4][i % 4] tempArr[i]; //巧妙运用数学知识一行完成二维数组元素的添加}}private void initImage() {for(int i 0 ; i 4; i){for (int j 0; j 4; j) {//创建一个图片ImageIcon的对象ImageIcon icon new ImageIcon(D:\\IdeaProjects\\PuzzleGame\\image\\daxiaoqiao\\ data[i][j] .jpg);//创建一个JLabel的对象管理容器JLabel jLabel new JLabel(icon);//指定图片位置jLabel.setBounds(105 * j, 105 * i 4, 105, 105);//把管理容器添加到界面中this.getContentPane().add(jLabel);}}二、事件 事件就是可以被组件识别的操作。当你对组件做了某种事情后就会执行相应的代码。         GUI 中的事件源可以是按钮、图片、窗体等等控件。         鼠标点击、鼠标划入等等操作都统称为事件。         当事件源上发生了某个事件则执行某段代码这个行为叫做绑定监听。 KeyListner                键盘监听MouseListener         鼠标监听ActionListener          动作监听 【练习7】写一个按钮的事件监听。         按钮用 JButton 类创建。事件监听需要导包导入 ActionEvent 和 ActionListener。 package test; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;public class EventTest {public static void main(String[] args) {JFrame jFrame new JFrame();//设置界面宽高jFrame.setSize(603, 680);//设置界面标题jFrame.setTitle(事件演示);//设置界面置顶jFrame.setAlwaysOnTop(true);//设置界面居中jFrame.setLocationRelativeTo(null);//设置关闭模式jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//取消组件默认居中放置jFrame.setLayout(null);//创建一个按钮对象JButton jbt new JButton(点我);//设置按钮位置和宽高jbt.setBounds(0,0,100,50);//给按钮添加动作监听//jbt:组件对象表示要给哪个组件添加事件//addActionListener:表示我要给组件添加哪个事件监听动作监听包括两种鼠标左键点击空格按下//()中应该传入一个接口的实现类对象该对象是ActionListener的对象可以用匿名内部类作为参数//该参数表示事件被触发后要执行的代码jbt.addActionListener(new ActionListener() {Overridepublic void actionPerformed(ActionEvent e) {System.out.println(按钮被点击了);}});//把按钮添加入窗体jFrame.getContentPane().add(jbt);//显示窗体jFrame.setVisible(true);} }事件监听还有另一种写法可以让当前界面去实现 ActionListener 接口。         写一个窗体实现 ActionListener 接口。 package test;import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random;public class MyJFrame extends JFrame implements ActionListener {//创建2个按钮必须在成员位置JButton jbt1 new JButton(点我);JButton jbt2 new JButton(点我。);//构造方法MyJFrame() {this.setSize(600,600);//设置界面的标题this.setTitle(登录);//设置界面置顶this.setAlwaysOnTop(true);//设置界面居中this.setLocationRelativeTo(null);//设置窗口的关闭模式this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//设置窗口的Layoutthis.setLayout(null);//设置按钮位置大小jbt1.setBounds(0,0,100,50);jbt2.setBounds(202,0,100,50);//给按钮添加事件//因为当前类实现了ActionListener接口所以该类本身对象即可作为参数反传递给addActionListener()方法jbt1.addActionListener(this);jbt2.addActionListener(this);//把按钮添加到窗口中this.getContentPane().add(jbt1);this.getContentPane().add(jbt2);//显示窗体this.setVisible(true);}//实现ActionListener接口重写actionPerformed方法Overridepublic void actionPerformed(ActionEvent e) {//对当前的按钮进行判断//获取当前被操作的那个按钮对象Object source e.getSource();if(source jbt1) {jbt1.setSize(200,200);System.out.println(按钮1被按下);}else{Random r new Random();jbt2.setLocation(r.nextInt(500),r.nextInt(500));System.out.println(按钮2被按下);}} }测试类用来创建窗口。 package test;public class EventTest2 {public static void main(String[] args) {MyJFrame myJFrame new MyJFrame();} }
http://www.w-s-a.com/news/981648/

相关文章:

  • 赤峰中国建设招标网站网站开发投标文件
  • 域名抢住网站婚庆网页设计
  • 公司网站建设的通知南宁怎么做网站
  • 搜狐快站建站教程电子商务网站后台模板
  • .gs域名做网站怎么样做网站有没有用
  • 肇庆住房和城乡建设局网站广州seo公司排名
  • j2ee网站开发买什么书网络媒体有哪些
  • 江西省住房建设部官方网站用多说的网站
  • 云课堂哪个网站做的好网站 集约化平台建设方案的通知
  • 撰写网站栏目规划怎么建自己的平台
  • 中国建设银行巴黎分行网站建设银行忘记密码网站首页
  • 网站左侧树形导航怎么做像wordpress一样的网站吗
  • 做网站用的书公司做网站 需要解决哪些问题
  • 电器网站建设策划书深圳动画制作
  • cpa网站建设wordpress支付宝微信收费吗
  • 权威网站排名桂林生活网论坛
  • 网站设计息济南网站建设济南
  • 安蓉建设总公司网站网站怎么做才能被百度收录
  • 电子商务网站业务流程分析做效果图的外包网站
  • wordpress仿站视频教程wordpress用什么php版本好
  • 郑州做网站九零后网络沧州做网站的专业公司
  • 小游戏网站建设可以自己做图片的软件
  • 湖南地税局官网站水利建设基金app仿制
  • 苏州网站设计kgwl建设网站需要用到哪些技术人员
  • 万户网络做网站如何亚马逊网站建设
  • 门户网站制作费用暴雪公司最新消息
  • 深圳专业建网站公司济南公司做网站的价格
  • 怎么运行自己做的网站网上申请平台怎么申请
  • 旅游公司网站 优帮云新闻近期大事件
  • 电商网站后台报价营销软文小短文