博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java学习笔记_GUI(4)
阅读量:5119 次
发布时间:2019-06-13

本文共 2678 字,大约阅读时间需要 8 分钟。

1 import javax.swing.*; 2 import java.awt.event.*; 3 import java.awt.*; 4  5 class MyPanel_0 extends JPanel { 6     public void paintComponent( Graphics g ) { 7         g.setColor( Color.orange ); 8         g.fillRect(20, 50, 100, 100); 9     }10 }11 12 class MyPanel_1 extends JPanel {13     public void paintComponent( Graphics g ) {14         Image image = new ImageIcon("Winter.jpg").getImage();15         g.drawImage(image, 3, 4, this);16     }17 }18 19 class MyPanel_2 extends JPanel {20     public void paintComponent( Graphics g ) {21         g.fillRect(0, 0, this.getWidth(), this.getHeight());22         int red = (int) (Math.random() * 255);23         int green = (int) (Math.random() * 255);24         int blue = (int) (Math.random() * 255);25         Color randomColor = new Color(red, green, blue);26         g.setColor(randomColor);27         g.fillOval(70, 40, 100, 100);28     }29 }30 31 class MyPanel_3 extends JPanel {32     public void paintComponent( Graphics g ) {33         Graphics2D g2d = (Graphics2D) g;34         GradientPaint gradient = new GradientPaint(70, 70, Color.blue, 150, 150, Color.orange);35         g2d.setPaint( gradient );36         g2d.fillOval(70, 70, 100, 100);37     }38 }39 40 class Gui implements ActionListener{41     42     JButton button = new JButton("click me");43     JFrame frame = new JFrame();44     45     private void set_frame() {46         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);47         frame.setSize(300, 200);48         frame.setVisible(true);49     }50 51     public void show_button() {52         set_frame();53         frame.getContentPane().add(button);54         button.addActionListener(this);55     }56     57     public void show_my_panel( String index) {58         set_frame();59         if ( index.equals("0") ) {60             frame.getContentPane().add(new MyPanel_0());61         }62         else if ( index.equals("1") ) {63             frame.getContentPane().add(new MyPanel_1());64         }65         else if ( index.equals("2") ) {66             frame.getContentPane().add(new MyPanel_2());67         }68         else if ( index.equals("3") ) {69             frame.getContentPane().add(new MyPanel_3());70         }71     }72     73     public void actionPerformed( ActionEvent event ) {74         button.setText("I've been clicked!");75     }76 }77 78 class GuiTest {79     public static void main( String[] args ) {80         Gui gui = new Gui();81         if ( args.length > 0 ) {82             gui.show_my_panel( args[0] );83         }84         else {85             gui.show_button();86         }87     }88 }

这个程序演示了几种不同的绘图等方法

转载于:https://www.cnblogs.com/ren-yu/p/5815960.html

你可能感兴趣的文章
window添加右键菜单
查看>>
入手腾龙SP AF90mm MACRO
查看>>
Window7上搭建symfony开发环境(PEAR)
查看>>
Linux内核态、用户态简介与IntelCPU特权级别--Ring0-3
查看>>
第23月第24天 git命令 .git-credentials git rm --cached git stash clear
查看>>
java SE :标准输入/输出
查看>>
一些方便系统诊断的bash函数
查看>>
jquery中ajax返回值无法传递到上层函数
查看>>
css3之transform-origin
查看>>
Master选举原理
查看>>
[ JAVA编程 ] double类型计算精度丢失问题及解决方法
查看>>
小别离
查看>>
好玩的-记最近玩的几个经典ipad ios游戏
查看>>
PyQt5--EventSender
查看>>
Sql Server 中由数字转换为指定长度的字符串
查看>>
Java 多态 虚方法
查看>>
万能的SQLHelper帮助类
查看>>
tmux的简单快捷键
查看>>
[Swift]LeetCode922.按奇偶排序数组 II | Sort Array By Parity II
查看>>
Html5 离线页面缓存
查看>>