1、首先,设置在网页中显示文本的格式,文本的高度为100像素,宽度为280像素。
2、定义显示文本的字体大小为22像素,离左侧和右侧的距离设置为自动,离顶部的距离设置为15像素。
3、用font标签在网页中插入要显示的文本。
4、由于显示的文本内容是动态控制的,所以设置一个标识符poemsi,用来动态表示显示的诗句。
5、然后,在网页中插入一个按钮。
6、按钮的高度为33像素,宽度为100像素,离左侧和右侧的距离为自动,离顶部的距离为20像素。
7、用type属性,定义按钮的类型为button。
8、定义按钮的标签为显示,单击后执行的函数为show。
9、按钮的背景色值为#aaeded,字体大小为20像素。
一 主要实现技术
Java图形化界面,较为常见的有awt, swing 和swt, 一般使用SWING来完成. swing组件丰富,功能强大,双缓冲机制.
所有的组件和容器如下
JFrame窗口 (窗体,用于存放其他的组件 ,轻量级容器等)
JButton 按钮 : 一般用于响应点击事件, 当点击后执行一些逻辑和代码
JTextField 文本框: 用于显示字符串
二 交互设计
当点击按钮后,需要执行一些逻辑, 我们需要实现ActionListener接口的actionPerformed方法. 当点击按钮后,就会去执行actionPerformed方法里面的代码.
1 2 3 4 5 6 7 | JButton jbt = new JButton( "按钮" ); //初始化按钮 //给按钮添加交互(点击事件响应) jbt.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { // 点击后需要执行的代码 } }); |
三 完整代码和详细注释
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | import java.awt.*; import java.awt.event.*; import javax.swing.*; //本类继承与JFrame窗体, 实现ActionListener接口 public class MyFrame extends JFrame implements ActionListener { JTextField jtf; //文本框 JButton jbt; //按钮 public MyFrame() { jtf = new JTextField( 8 ); //文本框的初始化 jbt = new JButton( "按钮" ); //按钮的初始化 jbt.addActionListener( this ); //给按钮响应点击事件 add(jtf); add(jbt); setLayout( new FlowLayout()); setTitle( "测试" ); setSize( 300 , 150 ); setLocationRelativeTo( null ); //窗口居中 setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible( true ); //窗口可见 } //重点: 重点是实现actionPerformed的方法 public void actionPerformed(ActionEvent e) { if (jbt == e.getSource()) { //如果是jbt这个按钮被点击了, String str = jbt.getText(); //那么取得按钮上的文字, jtf.setText(str); //把按钮的文字显示到文本框中. } } public static void main(String[] args) { new MyFrame(); // 创建窗口实例 } } |
运行效果图
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | package com.demo; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTextField; public class Demo { public static void main(String args[]) throws Exception{ NewFrame frame1 = new NewFrame(); frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //一定要设置关闭 frame1.setVisible( true ); } } class NewFrame extends JFrame{ private JButton button1; private JTextField text1; public NewFrame(){ super (); this .setSize( 300 , 200 ); this .getContentPane().setLayout( null ); this .add( this .getTextField(), null ); this .add( this .getButton(), null ); this .setTitle( "Demo" ); } private JTextField getTextField(){ if (text1== null ){ text1 = new JTextField(); text1.setBounds( 96 , 49 , 160 , 20 ); } return text1; } private JButton getButton(){ if (button1== null ){ button1 = new JButton(); button1.setBounds( 103 , 110 , 71 , 27 ); button1.setText( "button" ); button1.addActionListener( new HelloButton()); //添加监听器类,其主要的响应都由监听器类的方法实现 } return button1; } private class HelloButton implements ActionListener{ public void actionPerformed(ActionEvent e){ text1.setText(button1.getText()); } } } |
运行不了啊 哥们
为什么运行不了?提示什么错误?我调试成功才发上来的啊