`
杨杨和花花
  • 浏览: 22443 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

创建画图板窗口

阅读更多
//创建一个画图板窗体

       //引入类和接口
     import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JColorChooser;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;


public class MyJFrame extends javax.swing.JFrame {
//写出主函数
private String command="line";
private Color color=Color.black;
java.awt.Graphics  g;
public static void main(String[] args){
//  创建窗口对象
MyJFrame frame=new MyJFrame();
//调用方法
frame.showUI();
}
//编写showUI方法
public void showUI(){
//设置窗口的大小,标题,关闭按钮,居中,可视性
this.setTitle("简单模仿画图板");
this.setSize(400, 400);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(3);
//设置流式布局
FlowLayout layout=new FlowLayout();
this.setLayout(layout);
//添加按钮
javax.swing.JButton line_button=new javax.swing.JButton("直线");
line_button.setActionCommand("line");
this.add(line_button);
javax.swing.JButton rect_button=new javax.swing.JButton("矩形");
rect_button.setActionCommand("rect");
this.add(rect_button);
javax.swing.JButton oval_button=new javax.swing.JButton("椭圆");
oval_button.setActionCommand("oval");
this.add(oval_button);
javax.swing.JButton color_button=new javax.swing.JButton("颜色");
this.add(color_button);
//添加形状按钮监听器,这里用到了匿名内部类的方法
                     //匿名内部类是指在另一类里面定义一个类,用于那些简短的类的命
                       名和调用
ActionListener action_listener=new ActionListener(){
//添加方法
public void actionPerformed(ActionEvent e){
command=e.getActionCommand();
}
};
//将监听器安装到按钮上
line_button.addActionListener(action_listener);
rect_button.addActionListener(action_listener);
oval_button.addActionListener(action_listener);
//添加颜色按钮监听器
ActionListener action_listen=new ActionListener(){
public void actionPerformed(ActionEvent e){
color=JColorChooser.showDialog(null,"请选择颜色",Color.black);
}
};
//添加按钮
color_button.addActionListener(action_listen);
this.setVisible(true);
//获取画布
g=this.getGraphics();
//准备画图要创建一个鼠标监听器
MouseListener mouse_listener=new MouseListener(){
int x1,y1,y2,x2;
public void mouseClicked(MouseEvent e){

}
public void mouseEntered(MouseEvent e){

}
public void mouseExited(MouseEvent e){

}
public void mousePressed(MouseEvent e){
x1=e.getX();
y1=e.getY();

}
public void mouseReleased(MouseEvent e){
x2=e.getX();
y2=e.getY();
g.setColor(color);
                           //通过判断来决定画什么
if(command.equals("line")){
g.drawLine(x1, y1, x2, y2);
}
else if(command.equals("rect")){
g.drawRect(Math.min(x1, x2),Math.min( y1,y2),Math.abs(x1-x2),Math.abs(y1-y2));
}
else if(command.equals("oval")){
g.drawOval(Math.min(x1,x2),Math.min(y1, y2),Math.abs( x2-x1),Math.abs(y2-y1));
}
}
};
this.addMouseListener(mouse_listener);
}

}
以上是我敲过的代码,运行后会显示四个按钮,你可以画三种形状,可以改变他们的颜色。
分享到:
评论

相关推荐

    java swing 画图板

    在这个项目中,一个JFrame被用来创建画图板窗口。 2. **JPanel**:JPanel是Swing中的一个容器组件,用于添加自定义的绘图功能。在这里,开发者可能创建了一个或多个JPanel来作为画布,允许用户在上面进行绘画。 3....

    java 画图板 windows画图板简单实现

    在这个画图板项目中,我们将主要使用JFrame作为主窗口,JPanel作为画布,以及MouseListener和MouseMotionListener接口来监听鼠标事件。 2. **JFrame和JPanel**: JFrame是窗口的基础,我们在这里设置窗口的基本...

    java画图板程序代码

    Java 画图板程序设计与实现 Java 画图板是使用 Java 语言编写的图形绘制程序,提供了基本的绘图功能,如画笔、直线、椭圆、矩形等,用户可以使用该程序绘制简单的图形。下面我们将对 Java 画图板程序进行详细的分析...

    QT画图板详例

    在压缩包中的"MainWindow"文件,很可能是项目的主要窗口类,包含了画图板的大部分功能实现。这个类可能继承自QWidget或QMainWindow,包含了画图区、颜色选择器、工具选择和状态栏等部件。通过阅读和理解这个类的代码...

    画图板_Vc_

    总的来说,这个“画图板”项目涵盖了GUI编程的基础,包括窗口创建、消息处理、图形绘制、文件操作等多个方面,对于学习和提升VC++编程技能非常有帮助。通过实践这样的项目,开发者不仅可以加深对Windows API的理解,...

    vc画图板源码

    在本文中,我们将深入探讨基于VC++的"vc画图板源码",这是一个用于创建图形界面应用程序的项目。这个项目的核心是利用MFC(Microsoft Foundation Classes)库,它是Microsoft为C++开发者提供的一个用于构建Windows...

    QTcreator写画图板

    画图板是一个简单的绘图程序,允许用户在窗口中用鼠标或触摸屏进行绘画。虽然功能简单,但画图板涉及许多GUI编程的核心概念,例如事件处理、绘图技术、组件操作等。通过开发画图板项目,用户能够学习和巩固Qt框架中...

    仿XP画图板

    开发者可能使用了其中的一种来构建这款画图板,包括窗口、菜单、按钮等组件的创建。 2. **事件处理**:JAVA程序中的事件处理是用户与应用程序交互的核心,例如点击按钮、选择颜色等。开发者需要设置监听器来响应...

    基于qt实现的画图板

    3. **QWidget与QGraphicsView/QGraphicsScene**:在实现画图板时,通常会使用QWidget作为基础的用户界面元素,然后可能结合QGraphicsView和QGraphicsScene来创建一个可缩放、可滚动的画布。QGraphicsView负责显示...

    Java画图板应用

    在Java画图板应用中,Swing的JFrame类通常用于定义主窗口,JPanel则用来创建可定制的绘图区域。用户可以通过JButton、JColorChooser和JSlider等组件与应用程序交互,选择画笔颜色、线条粗细以及进行其他设置。 在...

    MFC 简易画图板

    在我们的画图板中,可能需要继承`CWinApp`来管理应用程序的生命周期,使用`CFrameWnd`或`CMDIChildWnd`作为主窗口类。 2. **CView 类和设备上下文(DC)**: `CView`是MFC中负责显示和接收用户输入的类。在画图板...

    Windows画图板程序源码 VC

    这些函数需要指定窗口类、窗口样式、位置、大小等参数,从而构建出画图板的基础框架。 2. **消息循环**:Windows应用程序通常依赖于消息驱动机制。开发者需要设置一个消息循环,如`GetMessage`和`DispatchMessage`...

    MFC做的画图板

    在本文中,我们将深入探讨如何使用Microsoft Foundation Classes (MFC) 创建一个自定义的画图板应用程序。MFC 是微软为Visual C++ 提供的一套类库,它封装了Windows API,使得开发者能够更容易地构建Windows 应用...

    windows画图板程序源码

    在计算机编程领域,Windows画图板程序是一种常见的学习和实践窗口应用程序设计的案例。本篇文章将深入剖析"windows画图板程序源码",揭示其背后的原理和技术,以帮助读者更好地理解和掌握Windows程序设计。 首先,...

    画图板的实现

    在信息技术领域,创建一个简单的画图板是许多初学者和开发者经常接触的任务。这个过程涉及到图形用户界面(GUI)的设计和编程,通常使用Java这样的面向对象语言。在这个主题中,我们将深入探讨如何实现一个基本的...

    MFC简单画图板

    通过设置这些属性,用户可以在画图板上创建出不同风格的图形。 3. **输入文字**:在MFC中,CFont类用于管理字体,而TextOut函数则用于在指定位置绘制文本。用户可以选择不同的字体、大小和颜色,然后在画布上自由...

    VC的MFC做的一个画图板程序

    在画图板程序中,可能包含一个或多个`CWnd`的子类,例如主窗口和绘图区窗口。 3. **CDialog**: 用于创建对话框,画图板程序中可能包含设置选项或颜色选择的对话框,这些对话框会基于`CDialog`类进行扩展。 4. **...

    win32 画图板

    在"win32 画图板"中,开发者会创建一个主窗口,然后定义各种控件,如菜单、工具栏和状态栏,来实现用户交互。这涉及到CreateWindowEx函数来创建窗口,WM_CREATE消息处理来初始化窗口内容,以及WM_COMMAND消息处理...

    JAVA应用程序 画图板

    在这个画图板应用中,JFrame将作为主窗口,而JPanel则用于绘制图形。 2. **JavaFX库**:虽然描述中没有明确指出使用JavaFX,但它是另一种强大的GUI库,特别适合创建现代、响应式的用户界面。如果应用使用了JavaFX,...

    C++程序——画图板

    本项目名为"C++程序——画图板",其核心是利用C++来实现一个简单的画图工具,让用户可以在界面上绘制图形。下面我们将深入探讨这个项目的相关知识点。 首先,我们要理解C++中的图形用户界面编程。在C++中,可以使用...

Global site tag (gtag.js) - Google Analytics