java 学习 第二章 图形界面设计 第一课

深入理解 JVM 原理
深入理解 JVM 原理
wangxiaoming

             图形界面设计

觉得java 里面 最复杂的就是GUI 编程了 好像在学绘画似的 ,想想大一那会悲催的工图 ,哭了~ 要是这个绘图过程可以独立出来就好 ,程序员只要解决其中个组件的逻辑关系 ,那么就会方便多了

  第一、: 设置一个框架 ,任何一个 窗口 都需要一个 Frame 才可以进行操作的
    Frame 有很多属性  :1、 setSize();
                                           2、setVisible();
                                           3、setBackground();
                                           4、setTitle() 。。。
下面给出创建出Frame最基本的代码:
import java.awt.*;
public class framel {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Frame fml = new Frame("Hello"); //新建一个叫hello的窗口
		fml.setSize(400, 300);// 对对象进行设置
		fml.setBackground(Color.blue);//设置背景颜色
		fml.setVisible(true); ///设置是否可见
	}

}

第二、 设置一个panel  panel 是用来设置 也就是说用来在框架里面画东西的 ,然后最终需要把 panel 加到 frame 当中的   
            Panel 也有很多属性:
                                       setSize()  设置尺寸
                                        setBackground() 设置 背景颜色
                                        setLocation();        设置位置
                                        。。。
         
             请看下面代码:
import java.awt.*;
public class Panel1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//先创建一个Frame 框架
		Frame fml = new  Frame("Hello");
		//下面对 frame 对象进行设置
		fml.setSize(400,380);
		fml.setBackground(Color.gray);
		fml.setLayout(null);//这步也喊中药,设置默认布局为空 即取消默认布局
		//下面声明panel 对象
		Panel pn1 = new Panel();
		Panel pn2 = new Panel();
		Panel pn3 = new Panel();
		//下面开始对panel 对象进行操作
		pn1.setSize(100,100);
		pn1.setBackground(Color.red);
		pn1.setLocation(0, 80);
		pn2.setSize(100, 100);
		pn2.setBackground(Color.yellow);
		pn2.setLocation(100, 180);
		pn3.setSize(100, 100);
		pn3.setBackground(Color.red);
		pn3.setLocation(200, 280);
		//然后把这些组件加进去
		fml.add(pn1);
		fml.add(pn2);
		fml.add(pn3);
		fml.setVisible(true);
	}

}

下面 开始对字体 Font 进行操作:
                         设置对字体进行操作:Font类的构造方法:
                           Font(String name ,int Stytle ,int Size);
                            name 代表字体的名字   例如Courier 宋体 楷体 等
                           style 代表的是 字体的风格  Font  BOLD 黑体
、                                                                        Font  ITALIC 斜体 
                                                                            Font  PLAIN 正常字体  他们之间可以进行相互组合
   举个栗子 :            Font f = new Font("TimesRoman", Font.PLAIN,14);     
                                    在组件中显示所用的字体可以用 setFont()  方法来设置
         使用Graphics 的参数g 
         g.setFont(f);
                                    Button btn = new Button(); 
                                    btn.setFont(f);
下面给出一个显示系统字体的程序:
            
import java.awt.*;
public class listFont {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//新建一个字符串数组来显示名字并且完成赋值
      String[]  fontName = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
      for(int i = 0 ; i <fontName.length;i++)
      {
    	  System.out.println(fontName[i]);
      }
	}
}

下面开始设定输出字体:
     下面是一个  Applet 程序
     
import java.applet.*;
import java.awt.*;
public class FontApplet extends Applet {
	public void paint(Graphics g)
	{
		g.setColor(Color.green);//设置背景颜色
		g.setFont(new  Font("Courier", (Font.BOLD + Font.ITALIC), 24));
		g.drawString(" Helllo World", 30, 60);
	}

}


wangxiaoming CSDN认证博客专家 架构 Spring Boot Redis
博客是很好的总结和记录工具,如果有问题,来不及回复,关注微信公众号:程序员开发者社区,获取我的联系方式,向我提问,也可以给我发送邮件,联系 1275801617@qq.com
©️2020 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值