• GUI 下


    11.6 Swing组件

    JButton JLabel JTextField JTextArea JTable JTree

    publicclass JTableDemo extends JFrame

    {

          publicstaticvoid main(String[] args)

          {

               JTableDemo jTableDemo = new JTableDemo();

               jTableDemo.setVisible(true);

          }

          public JTableDemo()

          {

               setSize(300, 300);

               setLocation(400, 400);

               setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

               setLayout(new BorderLayout());

               JTable table = new JTable(new AbstractTableModel()

               {

                     privatestaticfinallongserialVersionUID = 1L;

                     private String columnName[] =

                     { "第一列", "第二列", "第三列", "第四列" };

                     // 返回列的大小

                     @Override

                     publicint getColumnCount()

                     {

                          return 4;

                     }

                     // 返回列名

                     @Override

                     public String getColumnName(intcolumn)

                     {

                          returnthis.columnName[column];

                     }

                     // 返回行的大小

                     @Override

                     publicint getRowCount()

                     {

                          return 4;

                     }

                     public Object getValueAt(introw, intcol)

                     {

                          returnnew Integer(row * col);

                     }

               });

               // 为了防止表格过长,使用JScrollPane,使得表格具有滚动条

               JScrollPane scrollPane = new JScrollPane(table);

               add(scrollPane, BorderLayout.CENTER);

          }}

    11.7 图形编程

    11.7.1 AWT图形API

    Graphics 类是从JDK1.0开始就在AWT中提供的图形绘制类.由于Swing是基于AWT发展起来的组件,Graphics类作为一种图形绘制方式得到了保留

    drawLine

    绘制直线

    DrawOval

    fillOval

    绘制椭圆

    填充椭圆

    DrawPolygon

    FillPolygon

    绘制多边形

    填充多边形

    drawRect

    fillRect

    绘制矩形

    填充矩形

    drawRoundRect

    fillRoundRect

    绘制圆角矩阵

    填充圆角矩阵

    drawstring

    绘制字符串

    Draw3DRect

    Fill3DRect

    绘制带3D效果的矩形

    填充带3D效果的矩形

    drawImage

    绘制图片

    SetColor

    设置画笔颜色

    SetFont

    设置字体

    publicclass GraphicsDemo extends JFrame

    {

          publicstaticvoid main(String[] args)

          {

               GraphicsDemo graphicsDemo = new GraphicsDemo();

               graphicsDemo.setVisible(true);

          }

          public GraphicsDemo()

          {

               setSize(400, 400);

               setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

          }

          @Override

          publicvoid paint(Graphics g)

          {

               super.paint(g);

               // 设置画笔颜色为红色

          g.setColor(Color.red);

               // 绘制矩形

               g.drawRect(50, 50, 100, 100);

               // 填充矩形

               g.fillRect(200, 50, 100, 100);

               // 设置画笔颜色为绿色

               g.setColor(Color.green);

               // 绘制圆形

               g.drawOval(50, 200, 100, 100);

               // 填充圆形

               g.fillOval(200, 200, 100, 100);

          }}

    11.7.2 Java2D 图形API

     Java2D JFC的一员,加强了传统的AWT的描绘功能.

          绘制五角形代码如下

          publicclass Graphics2DDemo extends JFrame

    {

          publicstaticvoid main(String[] args)

          {

               Graphics2DDemo myFrame = new Graphics2DDemo();

               myFrame.setVisible(true);

          }

     

          public Graphics2DDemo()

          {

               setSize(400, 400);

               setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

          }

          @Override

          publicvoid paint(Graphics g)

          {

               super.paint(g);

               Graphics2D g2 = (Graphics2D) g;

               // 设置画笔样式

               g2.setStroke(new BasicStroke(4.0f));

               // 用GeneralPath 构造一个五角形

               GeneralPath p = new GeneralPath(GeneralPath.WIND_NON_ZERO);

               p.moveTo(-100.0f, -25.0f);

               p.lineTo(+100.0f, -25.0f);

               p.lineTo(-50.0f, +100.0f);

               p.lineTo(+0.0f, -100.0f);

               p.lineTo(+50.0f, +100.0f);

               p.closePath();

               // 将坐标平移到(200,200)

               g2.translate(200.0f, 200.0f);

               g2.draw(p);

          }}

    11.8 加载和使用多媒体资源

    11.8.1 加载图像

          现在我使用一种基于ImageIO的图像加载和使用方法.ImageIo中关于图像加载的方法主要有以下的方法

          BufferedImage read(File input)

          BufferedImage read(ImageInputStream stream)

          BufferedImage read(InputStream input)

          BufferedImage read(URL input)

     

  • 相关阅读:
    Java——Math,Set,List,map相关练习
    Java——单例模式、多线程
    Java——I/O入门相关练习代码
    Java——I/O相关练习代码
    Java——序列化与反序列化
    python-selenium-粘贴,删除,复制和悬停
    Typora图床设置(阿里云版,图片自动上传)
    图书管理系统(Java实现,十个数据表,含源码、ER图,超详细报告解释,2020.7.11更新)
    openresty的安装和使用
    工具丨超好用的免费AWR分析工具
  • 原文地址:https://www.cnblogs.com/qingtianBKY/p/6069953.html
Copyright © 2020-2023  润新知