先来看看表白神器,点击这里下载,来表白吧!
不如就把这些感性的细枝末节放大吧,用代码写下520的“告白书”
“自从遇见了你,就不停地想你。
编一个死循环,
让我们一直走,一直走。”
“我就是我,是颜色不一样的烟火
每个人都是独一无二的,写给自己的情诗。”
“我一直在寻找
找到了你
便找到了整个世界”
“我是个说谎者
我总是说,我不爱你”
“我曾是孤单的飞鸟,飘荡在远方的天空
如今我已飞得太久
才知道你就是春天”
“自从遇见了你,就不停地想你。”
“找到你的****,想约你出来吃饭
什么?你居然拒绝我了!!!
哼!那我把你删掉了!!!”
“曾经沧海难为水
除却巫山不是云
你对我而言就是沧海和巫山”
“如果允许的话
我想回到过去
对你说
我爱你”
“我一生都在等待
直到你闯进我的世界
我只想对你说:余生请多指教”
一封长长的表白书,再加上表白神器,你明白了我的心意了吗?
javaawt。GUI,图形用户界面,是指采用图形方式显示的计算机操作用户界面。javaawt是一个软件包,包含用于创建用户界面和绘制图形图像的所有分类,所以进行java基本的gui设计需要用到的包是javaawt。javaawt功能是包含用于创建用户界面和绘制图形图像的所有类。
试一下下面的代码
(如果点击按钮后没有任何变化,将窗口最小化一下就有了)
没有出现这个问题的话,也请告诉我一下~
import javaawt;
import javaawtevent;
import javaxswing;
import javautil;
public class painting extends JFrame implements ActionListener{
private JButton round,rectangle,ellipse,beeline;
private JLabel xaxis,yaxis,remain,information;
private JTextField xTF,yTF;
private BorderLayout layout;
private Container cp;
private JPanel pCenter;
Vector<Object> v=new Vector<Object>(); //定义一个集合类用于存储按钮对象
public painting(){ //构造方法 ------------------框架初始化-------------------
setDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
setTitle("painting");
setSize(400,500);
layout = new BorderLayout();
cp = getContentPane();
cpsetLayout(layout);
round= new JButton("画圆");
rectangle= new JButton("画矩形");
ellipse= new JButton("画椭圆");
beeline= new JButton("画直线");
xaxis=new JLabel("x坐标");
yaxis=new JLabel("y坐标");
remain=new JLabel("右下角坐标(400,500) ");
xTF=new JTextField("0",5);
yTF=new JTextField("0",5);
JPanel pUp= new JPanel();//第一个面板 在上部
pUpadd(remain);
pUpadd(xaxis);//置两个文本框
pUpadd(xTF);
pUpadd(yaxis);
pUpadd(yTF);
cpadd(pUp, "North");
//pCenter=new JPanel();//第二个面板 在中部
//pCenteradd(information);//置显示说明与画图区
//cpadd(pCenter,"Center");
JPanel pDown= new JPanel();//第三个面板 在下部
pDownadd(round);// 置四个按钮
pDownadd(rectangle);
pDownadd(ellipse);
pDownadd(beeline);
cpadd(pDown, "South");
roundaddActionListener(this); //置按钮监听--------------按钮行为监听与响应-------------
rectangleaddActionListener(this);
ellipseaddActionListener(this);
beelineaddActionListener(this);
}
public void actionPerformed(ActionEvent e) {//监听响应
vadd(egetSource());//将按钮情况存入v中
}
public void paint(Graphics g) { //--------------绘图响应-------------
superpaint(g);
int xx=IntegerparseInt(xTFgetText());//获取位置值
int yy=IntegerparseInt(yTFgetText());
int size=0;
Object o;
//while(vsize()!=size){//当用户点击按钮选择某一种图形时,v的大小就会比size值大1,当绘图完成后,vsize又等于size;效果就是:出现点击 即刻处理
o=vlastElement();
if(o == round) {gdrawOval(xx,yy,50,50);}
else if (o == rectangle){gdrawRect(xx,yy,100,50);}
else if (o == ellipse) {gdrawOval(xx,yy,100,50);}
else if(o == beeline) {gdrawLine(xx,yy,xx+100,yy);}
size++;
}
}
public static void main(String[] args){ // ------------程序入口-------------
JFrame frame = new painting();
framesetVisible(true);
}
}
概述
具体框架使用jframe,文本框组件:JTextField;密码框组件:JPasswordField;标签组件:JLabel;复选框组件:JCheckBox;单选框组件:JRadioButton;按钮组件JButton。
登录界面:
代码实例import javaxswing;
import javaawt; //导入必要的包
public class denglu extends JFrame{
JTextField jTextField ; //定义文本框组件
JPasswordField jPasswordField; //定义密码框组件
JLabel jLabel1,jLabel2;
JPanel jp1,jp2,jp3;
JButton jb1,jb2; //创建按钮
public denglu(){
jTextField = new JTextField(12);
jPasswordField = new JPasswordField(13);
jLabel1 = new JLabel("用户名");
jLabel2 = new JLabel("密码");
jb1 = new JButton("确认");
jb2 = new JButton("取消");
jp1 = new JPanel();
jp2 = new JPanel();
jp3 = new JPanel();
//设置布局
thissetLayout(new GridLayout(3,1));
jp1add(jLabel1);
jp1add(jTextField);//第一块面板添加用户名和文本框
jp2add(jLabel2);
jp2add(jPasswordField);//第二块面板添加密码和密码输入框
jp3add(jb1);
jp3add(jb2); //第三块面板添加确认和取消
// jp3setLayout(new FlowLayout()); //因为JPanel默认布局方式为FlowLayout,所以可以注销这段代码
thisadd(jp1);
thisadd(jp2);
thisadd(jp3); //将三块面板添加到登陆框上面
//设置显示
thissetSize(300, 200);
//thispack();
thissetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
thissetVisible(true);
thissetTitle("登陆");
}
public static void main(String[] args){
new denglu();
}
}
拓展内容java swing包
Swing 是一个为Java设计的GUI工具包。
Swing是JAVA基础类的一部分。
Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。
Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。它们是JFC的一部分。它们支持可更换的面板和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台上使用JAVA支持的任意面板。轻量级组件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为。
概念解析:
JFrame _ java的GUI程序的基本思路是以JFrame为基础,它是屏幕上window的对象,能够最大化、最小化、关闭。
JPanel _ Java图形用户界面(GUI)工具包swing中的面板容器类,包含在javaxswing 包中,可以进行嵌套,功能是对窗体中具有相同逻辑功能的组件进行组合,是一种轻量级容器,可以加入到JFrame窗体中。。
JLabel _ JLabel 对象可以显示文本、图像或同时显示二者。可以通过设置垂直和水平对齐方式,指定标签显示区中标签内容在何处对齐。默认情况下,标签在其显示区内垂直居中对齐。默认情况下,只显示文本的标签是开始边对齐;而只显示图像的标签则水平居中对齐。
JTextField _一个轻量级组件,它允许编辑单行文本。
JPasswordField _ 允许我们输入了一行字像输入框,但隐藏星号() 或点创建密码(密码)
JButton _ JButton 类的实例。用于创建按钮类似实例中的 "Login"。
其实无论在什么平台下,GUI应用程序的基本开发方法都是相似的。一般都包括下面这样四个步骤:
①创建容器
首先要创建一个GUI应用程序,需要创建一个用于容纳所有其它GUI组件元素的载体,Java中称为容器。典型的包括窗口(Window)、框架(Frame/JFrame)、对话框(Dialog/JDialog)、面板(Panel/JPanel)等。只有先创建了这些容器,其它界面元素如按钮(Button/JButton)、标签(Label/JLabel)、文本框(TextField/JTextField)等才有地方放。
②添加组件
为了实现GUI应用程序的功能,为了与用户交换,需要在容器上添加各种组件/控件。这需要根据具体的功能要求来决定用什么组件。例如,如果需要提示信息,可用标签(Label/JLabel);如果需要输入少量文本,可用文本框(TextField/JTextField);如果需要输入较多文本,可用文本区域(TextArea/JTextArea);如果需要输入密码,可用密码域(JPasswordField)等等。
③安排组件
与传统的Windows环境下的GUI软件开发工具不同,为了更好地实现跨平台,Java程序中各组件的位置、大小一般不是以绝对量来衡量,而是以相对量来衡量。例如有时候,程序的组件的位置是按"东/East"、"西/West"、"南/South"、"北/North"、"中 /Center"这种方位来标识的。因此,在组织界面时,除了要考虑所需的组件种类外,还需要考虑如何安排这些组件的位置与大小。这一般是通过设置布局管理器(Layout Manager)及其相关属性来实现的。事实上上述按方位来安排组件就是采用了Java中多种布局管理器里的BorderLayout布局管理器。
④处理事件
为了完成一个GUI应用程序所应具备的功能,除了适当地安排各种组件产生美观的界面外,还需要处理各种界面元素事件,以便真正实现与用户的交换,完成程序的功能。在Java程序中这一般是通过实现适当的事件监听者接口来完成的。比如如果需要响应按钮事件,就需要实现 ActionListener监听者接口;如果需要响应窗口事件,就需要实现WindowListener监听者接口。
代码没法给你写,但是道理是很简单的其实QQ的列表原理非常简单,其界面就是一颗JTree,设置树根不可见,树根的没给子节点就是每个分组而列表内容的实现就更简单了,自己写一个实现了TableCellRenderer的渲染器,然后给设置为分组下每个节点的渲染器就行了数据结构也超简单,就是三层树,第一层是根root,设置为不可见,所以只能看到他的几个节点;第二层是根root的节点,也就是分组,有几个分组就有几个节点,新建一个分组就是在root上添加一个新的子节点;第三层就是每个分组的内容了,这就是QQ列表的实现原理别告诉我你不知道渲染器是什么,如果还没学到,等学到了你就能做出来
欢迎分享,转载请注明来源:表白网
评论列表(0条)