导航:首页 > 编程语言 > java框架源码

java框架源码

发布时间:2023-08-08 18:55:52

A. 急需!!基于java的图形编辑器源代码

本来不该直接给人作业的,所以一些格式很乱也不打算改了。框架已经写好,自己参考着加上三角形的功能吧(总得自己做点东西吧)。
/*
* Paint.java
*
* Created on May 9, 2008, 10:10 AM
*/
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**
*
* @author uestcfb
*/
public class Paint extends JFrame {

List<Shape> list = new ArrayList<Shape>();
private Point end;

class PaintArea extends JPanel {

List<Shape> list;

public PaintArea(List<Shape> list) {
this.list = list;
}

@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
for (Shape s : list) {
s.paint(g);
}
}
}

private ShapeType selectedShape = ShapeType.values()[0];

/** Creates new form Paint */
public Paint() {
initComponents();
}

/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jComboBox1 = new javax.swing.JComboBox(ShapeType.values());
jPanel1 = new PaintArea(list);
jlebel1 = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jComboBox1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBox1ActionPerformed(evt);
}
});

jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
jPanel1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
jPanel1MousePressed(evt);
}

public void mouseReleased(java.awt.event.MouseEvent evt) {
jPanel1MouseReleased(evt);
}
});
jPanel1.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
public void mouseDragged(java.awt.event.MouseEvent evt) {
jPanel1MouseDragged(evt);
}
});

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(
jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 445,
Short.MAX_VALUE));
jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 388,
Short.MAX_VALUE));

jlebel1.setText("" + jComboBox1.getSelectedItem());
jlebel1.setToolTipText(getWarningString());

jLabel1.setText("Choose shape");

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
getContentPane());
getContentPane().setLayout(layout);
layout
.setHorizontalGroup(layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
layout
.createSequentialGroup()
.addContainerGap()
.addGroup(
layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
layout
.createSequentialGroup()
.addComponent(
jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addContainerGap())
.addGroup(
javax.swing.GroupLayout.Alignment.TRAILING,
layout
.createSequentialGroup()
.addComponent(
jlebel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
134,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(
142,
142,
142))))
.addGroup(
layout
.createSequentialGroup()
.addGap(98, 98, 98)
.addComponent(
jLabel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
103,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(
jComboBox1,
javax.swing.GroupLayout.PREFERRED_SIZE,
159,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(105, Short.MAX_VALUE)));
layout
.setVerticalGroup(layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
javax.swing.GroupLayout.Alignment.TRAILING,
layout
.createSequentialGroup()
.addContainerGap()
.addGroup(
layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(
jComboBox1,
javax.swing.GroupLayout.PREFERRED_SIZE,
21,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(
jLabel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
18,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(
jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(
jlebel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
35,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap()));

pack();
}// </editor-fold>

private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {
selectedShape = (ShapeType) jComboBox1.getSelectedItem();
jlebel1.setText(selectedShape.toString());
}

Shape current = null;

private void jPanel1MouseReleased(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
start = null;
end = null;
}

private void jPanel1MouseDragged(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
if (start != null) {
end = evt.getPoint();
list.remove(current);
if (selectedShape == ShapeType.RECTANGLE) {
current = new Rectangle(start, end);
} else if (selectedShape == ShapeType.CIRCLE) {
current = new Circle(start, end);
}
if (current != null) {
list.add(current);
}
System.out.println(start + "," + end);
System.out.println("----");
repaint();
}
}

private void jPanel1MousePressed(java.awt.event.MouseEvent evt) {
start = evt.getPoint();
end = evt.getPoint();
if (selectedShape == ShapeType.RECTANGLE) {
current = new Rectangle(start, end);
} else if (selectedShape == ShapeType.CIRCLE) {
current = new Circle(start, end);
}
if (current != null) {
list.add(current);
}
}

/**
* @param args
* the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {
new Paint().setVisible(true);
}
});
}

enum ShapeType {
RECTANGLE, CIRCLE;
}

abstract class Shape {

abstract protected void paint(Graphics g);
}

class Rectangle extends Shape {

Point p1;
Point p2;

Rectangle(Point p1, Point p2) {
this.p1 = p1;
this.p2 = p2;
}

@Override
protected void paint(Graphics g) {
g.drawRect((int) p1.getX(), (int) p1.getY(), (int) (p2.getX() - p1
.getX()), (int) (p2.getY() - p1.getY()));
}
}

class Circle extends Shape {

Point p1;
Point p2;

Circle(Point p1, Point p2) {
this.p1 = p1;
this.p2 = p2;
}

@Override
protected void paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
double x1 = p1.getX();
double y1 = p1.getY();
double x2 = p2.getX();
double y2 = p2.getY();
g2.drawOval((int) x1, (int) y1, (int) x2, (int) y2);
}
}

// Variables declaration - do not modify
private javax.swing.JLabel jlebel1;
private javax.swing.JComboBox jComboBox1;
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel1;
// End of variables declaration
private Point start = null;
}

B. GitHub上面有哪些经典的java框架源码

C. Java哪些开源框架的源代码值得一读

Spring
spring做为现在最流行java web框架,可以作为任何一个项目的基础框架,值得仔细研究学习

D. 如何在Eclipse中查看JDK以及Java框架的源码

在Eclipse中查看JDK类库的源代码
设置:
1.点 “window”-> "Preferences" -> "Java" -> "Installed JRES"
2.此时"Installed JRES"右边是列表窗格,列出了系统中的 JRE 环境,选择你的JRE,然后点边上的 "Edit...", 会出现一个窗口(Edit JRE)
3.选中rt.jar文件的这一项:“c:\program files\java\jre_1.5.0_06\lib\rt.jar” 点 左边的“+” 号展开它
4.展开后,可以看到“Source Attachment:(none)”,点这一项,点右边的按钮“Source Attachment...”, 选择你的JDK目录下的 “src.zip”文件
5.一路点"ok",结束。
dt.jar是关于运行环境的类库,主要是swing的包 tools.jar是关于一些工具的类库 rt.jar包含了jdk的基础类库,也就是你在java doc里面看到的所有的类的class文件

E. 如何查看javaJDK中底层源码

在初次使用java时,往往我们对最基本的java类会忽略对其内部基本的实现的了解,也往往不屑于了解其内部实现机制,以为它们本来就是这样子。而其实贯穿java的整个过程,所有上层的使用,都是源于对底层的扩展,所以要真正去了解这门语言,就必须得从其底层开始认真去了解它。而要深入了解,就需要更多去关注其内部的实现是怎样子的。

在使用IDE的过程中,我们经常会需要能在IDE中就可以便捷的去查看java的源码,但若没有做相关设置,一般在IDE是查看不了java源码的,此次提供在eclipse中设置查看java源码的方式。

设置步骤如下:


1.点 “window”-> "Preferences" -> "Java" -> "Installed JRES"


2.此时"Installed JRES"右边是列表窗格,列出了系统中的 JRE 环境,选择你的JRE,然后点边上的 "Edit...", 会出现一个窗口(Edit JRE)


3.选中rt.jar文件的这一项:“c:program filesjavajre_1.8lib t.jar”
点 左边的“+” 号展开它,


4.展开后,可以看到“Source Attachment:(none)”,点这一项,点右边的按钮“Source Attachment...”, 选择你的JDK目录下的 “src.zip”文件(该文件在JDK安装目录的根目录下)


5.一路点"ok",设置完成


设置完成后,按住ctrl键再用鼠标单击某一个jdk方法名或类名,便能看到该方法的源代码了。此外按F3也能实现。

PS:rt.jar包含了jdk的基础类库,也就是你在java

doc里面看到的所有的类的class文件;src.zip文件里面放着的正是基本类所对应的源文件(即*.java格式的文件);同理,我们可以去网上下载各个JAVA开源框架所对应的源代码包,比如spring-src.zip,然后再按照上面的设置步骤设置,就可以查看到对应的JAVA框架源代码了。

转自:网页链接

F. 如何快速读懂项目源码javaWeb

一:学会如何读一个JavaWeb项目源代码 步骤:表结构->web.xml->mvc->db->spring
ioc->log-> 代码
1、先了解项目数据库的表结构,这个方面是最容易忘记 的,有时候我们只顾着看每一个方法是怎么进行的,却没
有去了解数据库之间的主外键关联。其实如果先了解数据 库表结构,再去看一个方法的实现会更加容易。
2、然后需要过一遍web.xml,知道项目中用到了什么拦
截器,监听器,过滤器,拥有哪些配置文件。如果是拦截 器,一般负责过滤请求,进行AOP 等;如果是监 可能是定时任务,初始化任务;配置文件有如使用了 spring
后的读取mvc 相关,db 相关,service 相关,aop 相关的文件。
3、查看拦截器,监听器代码,知道拦截了什么请求,这
个类完成了怎样的工作。有的人就是因为缺少了这一步, 自己写了一个action,配置文件也没有写错,但是却怎么
调试也无法进入这个action,直到别人告诉他,请求被拦
4、接下来,看配置文件,首先一定是mvc相关的,如 springmvc
中,要请求哪些请求是静态资源,使用了哪些 view 策略,controller 注解放在哪个包下等。 然后是db 相关配置文件,看使用了什么数据库,使用了
什么orm框架,是否开启了二级缓存,使用哪种产品作 为二级缓存,事务管理的处理,需要扫描的实体类放在什 么位置。最后是spring 核心的ioc
功能相关的配置文件, 知道接口与具体类的注入大致是怎样的。当然还有一些如 apectj 置文件,也是在这个步骤中完成
5、log
相关文件,日志的各个级别是如何处理的,在哪些 地方使用了log 记录日志
6、从上面几点后知道了整个开源项目的整体框架,阅读 每个方法就不再那么难了。
7、当然如果有项目配套的开发文档也是要阅读的。

阅读全文

与java框架源码相关的资料

热点内容
pdf猫压缩 浏览:49
数据挖掘分类算法研究 浏览:101
河北航天发票认证服务器地址 浏览:727
阿里程序员绩效录入 浏览:382
eb蜜罐原理及源码 浏览:803
命令界面怎么调大小 浏览:890
公共测试服务器做什么的 浏览:746
湖南网络服务器云空间 浏览:365
做博客需要什么app 浏览:548
查看网站编程语言 浏览:302
我的世界服务器的密码怎么弄 浏览:644
电脑文件夹如何传输视频不压缩 浏览:145
安卓对单片机编程 浏览:728
被加密的txt 浏览:927
单片机汇编调用子程序 浏览:253
小米定位服务器地址 浏览:612
有什么好的学画app 浏览:882
5线4相步进电机单片机控制 浏览:293
linux重启php命令行 浏览:999
加密软件gif 浏览:761