java学习笔记_GUI
Posted Ren.Yu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java学习笔记_GUI相关的知识,希望对你有一定的参考价值。
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 }
这个程序演示了几种不同的绘图等方法
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
class MyPanel_0 extends JPanel {
public void paintComponent( Graphics g ) {
g.setColor( Color.orange );
g.fillRect(20, 50, 100, 100);
}
}
class MyPanel_1 extends JPanel {
public void paintComponent( Graphics g ) {
Image image = new ImageIcon("Winter.jpg").getImage();
g.drawImage(image, 3, 4, this);
}
}
class MyPanel_2 extends JPanel {
public void paintComponent( Graphics g ) {
g.fillRect(0, 0, this.getWidth(), this.getHeight());
int red = (int) (Math.random() * 255);
int green = (int) (Math.random() * 255);
int blue = (int) (Math.random() * 255);
Color randomColor = new Color(red, green, blue);
g.setColor(randomColor);
g.fillOval(70, 40, 100, 100);
}
}
class MyPanel_3 extends JPanel {
public void paintComponent( Graphics g ) {
Graphics2D g2d = (Graphics2D) g;
GradientPaint gradient = new GradientPaint(70, 70, Color.blue, 150, 150, Color.orange);
g2d.setPaint( gradient );
g2d.fillOval(70, 70, 100, 100);
}
}
class Gui implements ActionListener{
JButton button = new JButton("click me");
JFrame frame = new JFrame();
private void set_frame() {
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setVisible(true);
}
public void show_button() {
set_frame();
frame.getContentPane().add(button);
button.addActionListener(this);
}
public void show_my_panel( String index) {
set_frame();
if ( index.equals("0") ) {
frame.getContentPane().add(new MyPanel_0());
}
else if ( index.equals("1") ) {
frame.getContentPane().add(new MyPanel_1());
}
else if ( index.equals("2") ) {
frame.getContentPane().add(new MyPanel_2());
}
else if ( index.equals("3") ) {
frame.getContentPane().add(new MyPanel_3());
}
}
public void actionPerformed( ActionEvent event ) {
button.setText("I‘ve been clicked!");
}
}
class GuiTest {
public static void main( String[] args ) {
Gui gui = new Gui();
if ( args.length > 0 ) {
gui.show_my_panel( args[0] );
}
else {
gui.show_button();
}
}
}
以上是关于java学习笔记_GUI的主要内容,如果未能解决你的问题,请参考以下文章
[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段