Java从数据库中读取图片到Jpanel
关于在javaJframe里添置图片的相对文件路径的问题
1.放置图片的文件路径在本工程内:2.1.这里javaStudy是一个工程,然后device是一个存放包的包文件夹,DeviceMS是一个包,里面放的是.java 和.form文件。
设置就label的背景图片代码在这个java文件里。
2.然后我把图片是新建了一个文件夹,普通的文件夹,放的位置是在src这个包文件夹,他的地址是这样的,3.jLabel1 = new javax.swing.JLabel();4.5.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE) ;6.7.jLabel1.setIcon(newjavax.swing.ImageIcon(getClass().getResource(8."/image/icon.png"))); //地址是这样的机制的我然后又把复制了image文件夹,然后重命名为image1 然后设置了图标代码如下,这下,我机制的发现,原来java默认的相对路径方式竟然是这样,即一个工程同一级别都是这个路径,注意格式哦,是“/形式”jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image1/icon.png")));3.工程之内的另一种方式:看看image放的位置,以及语法“//”备注:“\\”也可以。
代码如下:ImageIcon image= new ImageIcon("image//hangzhou.jpg");jLabel1.setIcon(image);。
java jpanel方法
Java JPanel方法一、什么是JPanelJPanel是Java中的一个Swing组件,它扩展了JComponent类,并提供了一种轻量级的容器,用于组织图形界面的其他组件。
JPanel可用于创建各种界面元素,例如按钮、文本框、标签等,并将它们以特定布局方式放置在一个面板中。
二、JPanel的创建与使用1. 创建JPanel对象在Java中,可以通过直接实例化JPanel类来创建JPanel对象,如下所示:JPanel panel = new JPanel();2. 添加组件创建JPanel对象后,可以通过添加其他组件来完善界面。
可以使用add方法将组件添加到JPanel中,如下所示:panel.add(new JButton("按钮"));panel.add(new JTextField(10));panel.add(new JLabel("标签"));3. 设置布局JPanel可以使用不同的布局管理器来控制添加的组件的排列方式。
常见的布局管理器有FlowLayout、BorderLayout和GridLayout等。
例如,使用FlowLayout布局:panel.setLayout(new FlowLayout());4. 设置其他属性除了布局管理器,JPanel还有其他一些常用的属性可以进行设置,如背景色、前景色和边框等。
设置背景色和前景色可以使用setBackground和setForeground方法,设置边框可以使用setBorder方法。
panel.setBackground(Color.WHITE);panel.setForeground(Color.BLACK);panel.setBorder(BorderFactory.createLineBorder(Color.GRAY, 1));5. 添加事件监听器JPanel也支持添加事件监听器,以便对用户操作进行响应。
java从文件中读取数据并存入对象中的方法
一、概述在软件开发中,经常会遇到需要从文件中读取数据并存入对象中的情况,尤其是在使用Java语言进行编程时。
掌握Java从文件中读取数据并存入对象中的方法对于开发者来说是非常重要的。
本文将介绍Java中实现该功能的常用方法,并结合实例详细讲解。
二、使用Java读取文件的方法1. 使用File类和Scanner类读取文件Java中可以使用File类和Scanner类来读取文件中的数据。
首先通过File类创建文件对象,然后通过Scanner类来读取文件中的内容。
以下是一个简单的示例代码:```javaimport java.io.File;import java.io.FileNotFoundException;import java.util.Scanner;public class ReadFromFile {public static void m本人n(String[] args) {try {File file = new File("data.txt");Scanner scanner = new Scanner(file);while (scanner.hasNextLine()) {String data = scanner.nextLine();System.out.println(data);}scanner.close();} catch (FileNotFoundException e) {System.out.println("File not found");e.printStackTrace();}}}```2. 使用BufferedReader类读取文件除了Scanner类,还可以使用BufferedReader类来读取文件中的数据。
与Scanner类不同,BufferedReader类提供了更高效的读取方式。
以下是一个使用BufferedReader类读取文件的示例代码:```javaimport java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;public class ReadFromFile {public static void m本人n(String[] args) {try {BufferedReader reader = new BufferedReader(new FileReader("data.txt"));String line = reader.readLine();while (line != null) {System.out.println(line);line = reader.readLine();}reader.close();} catch (IOException e) {System.out.println("IO Exception");e.printStackTrace();}}}```以上是使用Java读取文件的基本方法,开发者可以根据实际需求选择合适的方式来读取文件中的数据。
jimp 使用手册
jimp是一个用Go编写的,功能强大的,性能高效的纯Java图像处理库。
它对图像处理提供了丰富的API接口,方便进行各种图像处理操作。
以下是一份简单的jimp使用手册:1. 安装jimp:首先需要在你的Java项目中引入jimp的依赖。
如果你使用的是Maven,那么可以在pom.xml文件中添加以下依赖:```xml<dependency><groupId>com.github.jimp</groupId><artifactId>jimp</artifactId><version>最新版本</version></dependency>```2. 读取图片:使用jimp的静态方法read()可以读取图片。
例如:```javaJimp image = Jimp.read("input.jpg");```3. 图片处理:jimp提供了丰富的API接口进行各种图片处理操作。
例如,我们可以使用以下代码将图片转为灰度:```javaimage.grayscale();```4. 保存图片:处理完图片后,我们可以使用jimp的write()方法将结果保存为图片。
例如:```javaimage.write("output.jpg");```5. 关闭jimp:使用完jimp后,需要调用其close()方法关闭资源。
例如:```javaimage.close();```以上就是一份简单的jimp使用手册。
jimp还提供了许多其他的功能,如缩放、旋转、裁剪、水印等,具体的使用方法可以参考jimp 的官方文档。
jpanel用法
jpanel用法
JPanel是Java图形用户界面(GUI)编程中的一个常用组件,它常常被用来容纳其他组件,例如按钮、文本框等。
以下是一些JPanel的基本用法:
1. 创建和初始化JPanel:首先,需要在代码开头导入JPanel类,然后使用JPanel panel = new JPanel()语句创建一个新的JPanel对象。
2. 设置JPanel的尺寸和布局:可以使用setSize(width, height)方法来设置JPanel的尺寸,使用setLayout(layout)方法来设置布局。
3. 将JPanel添加到容器中:使用容器的add(panel)方法将JPanel添加到容器中。
4. 向JPanel中添加组件:可以使用add(component)方法将组件添加到JPanel中。
以上是JPanel的基本用法,具体使用时还需要根据实际需求进行更深入的学习和探索。
java中jpanel的用法
java中jpanel的用法Java中JPanel的用法JPanel是Java Swing库中的一个重要组件,它用于创建可视化的用户界面。
本文将介绍JPanel的几种常见用法,包括创建和初始化JPanel、添加组件到JPanel中以及设置JPanel的布局等。
1. 创建和初始化JPanel以下是创建和初始化JPanel的步骤:•导入JPanel类:在代码开头导入类,以便在程序中使用JPanel。
•创建JPanel对象:使用JPanel panel = new JPanel();语句创建一个新的JPanel对象。
•设置JPanel的尺寸和布局:可以使用(width, height);和(layout);方法来设置JPanel的尺寸和布局。
•将JPanel添加到容器中:使用容器的add(panel);方法将JPanel添加到容器中。
import ;public class MyPanel {public static void main(String[] args) {JPanel panel = new JPanel();(500, 300);(new FlowLayout()); // 使用FlowLayout布局// 添加其他组件到panel中// ...// 将panel添加到容器中// ...}}2. 添加组件到JPanel中JPanel通常用于容纳其他组件,例如按钮、文本框等。
可以使用(component);方法将组件添加到JPanel中。
以下是向JPanel中添加按钮和文本框的示例代码:import ;import ;import ;public class MyPanel {public static void main(String[] args) {JPanel panel = new JPanel();(500, 300);(new FlowLayout()); // 使用FlowLayout布局JButton button = new JButton("Click me");(button); // 添加按钮到panel中JTextField textField = new JTextField(10);(textField); // 添加文本框到panel中// 将panel添加到容器中// ...}}3. 设置JPanel的布局JPanel的布局决定了其内部组件的排列方式。
java jbutton用法
java jbutton用法介绍JButton是Java中最常用的GUI组件之一,它被用于创建一个有标签和图标的可点击按钮。
通过JButton,用户可以与应用程序进行交互,比如登录,搜索等操作。
JButton主要通过Java Swing API实现,因此在使用之前需要导入Swing库。
使用JButton创建JButton需要以下五个步骤:1. 导入Swing库:由于JButton是Swing库中的组件之一,因此在使用JButton之前,我们需要将Swing 库导入我们的Java项目中。
可以使用以下命令可以将Swing库导入到代码中。
import javax.swing.*;2. 创建JFrame我们需要在创建JButton之前创建一个JFrame对象,因为JButton必须被添加到一个容器中才能展示出来。
以下是创建JFrame的代码:JFrame frame = new JFrame("JButton Example");3. 创建JButton以下是创建JButton的代码:JButton button = new JButton("Click me");在上面的代码中,我们创建了一个名为“Click me”的JButton,该按钮没有图像和任何其他属性。
4. 将JButton添加到JFrame中我们需要将JButton添加到JFrame中,因为在没有添加到容器中之前,组件是不可见的。
以下是将JButton添加到JFrame的代码:frame.add(button);5. 设置JFrame参数我们需要设置一些JFrame的参数,比如大小、可见性和关闭行为。
以下是设置JFrame参数的代码:frame.setSize(300, 200);frame.setVisible(true);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);在上面的代码中,我们将JFrame的大小设置为300x200,将其设置为可见,以及设置其关闭行为为退出程序。
通过文件流读取本地图片显示在JSP页面方法
public String viewImages() { HttpServletRequest request=ServletActionContext.getRequest(); //pic为读取到图片的存储路径(数据库中存储的字段值) String pic = request.getParameter("alaramPic"); HttpServletResponse response = ServletActionContext.getResponse(); ServletOutputStream out = null; FileInputStream ips = null; try { // ALARM_FILE_PATH为本地图片存放路径,imagePath为图片的真实路径 String imagePath = Const.ALARM_FILE_PATH + pic; ips = new FileInputStream(new File(imagePath)); response.setContentType("multipart/form-data"); out = response.getOutputStream(); //读取文件流 int i = 0; byte[] buffer = new byte[4096]; while ((i = ips.read(buffer)) != -1) { //写文件流 out.write(buffer, 0, i); } out.flush(); ips.close(); } catch (Exception e) { e.printStackTrace(); } finally { if (out != null) { try { out.close(); } catch (Exception e) { e.printStal) { try { ips.close(); } catch (Exception e) { e.printStackTrace(); }
java jpanel方法
java jpanel方法Java JPanel方法是Java语言中用于创建图形用户界面(GUI)的一个重要组件。
JPanel是Java Swing库中的一个类,它继承自JComponent类,用于容纳其他组件的容器。
JPanel可以被添加到JFrame中,用于布局和管理界面上的其他组件。
JPanel类提供了许多方法,用于设置和操作面板的属性和行为。
其中包括设置面板的大小、背景色、边框等。
下面将介绍一些常用的JPanel方法。
1. setSize(int width, int height)方法用于设置面板的大小。
可以通过传入宽度和高度的参数来指定面板的尺寸。
2. setBackground(Color color)方法用于设置面板的背景色。
可以通过传入Color对象作为参数来指定背景色。
3. setBorder(Border border)方法用于设置面板的边框。
可以通过传入Border对象作为参数来指定边框的样式和属性。
4. setLayout(LayoutManager manager)方法用于设置面板的布局管理器。
可以通过传入LayoutManager对象作为参数来指定布局管理器的类型,如FlowLayout、GridLayout等。
5. add(Component comp)方法用于向面板中添加其他组件。
可以通过传入Component对象作为参数来添加组件。
6. remove(Component comp)方法用于从面板中移除指定的组件。
可以通过传入Component对象作为参数来移除组件。
7. setPreferredSize(Dimension preferredSize)方法用于设置面板的首选尺寸。
可以通过传入Dimension对象作为参数来指定首选尺寸。
8. setEnabled(boolean enabled)方法用于设置面板的可用状态。
可以通过传入布尔值作为参数来指定面板是否可用。
Java中JFrame添加图片的两种方法
能看到的窗 【 _ J .那 么 界I [ = i i 的 美 化就 是 一 个 很 重 要 的 环 节 。
mp . a d d ( j i b 1 ) mp . a d d ( j l b 2 ) ; mp . a d d ( j t x t ) ; mp . a d d ( j p wd ) ; mp . a d d ( j b 1 ) :
j b 1 . s e t B o u n d s( 6 0 , 8 0 , 6 0 . 2 0 ) ; j b 2 . s e t B o u n d s( 1 3 0 , 8 0 ,
6 0 . 2 O ) :
是川, 与程 序 交互 的窗 口, 比命令行 的界 面更加直 观并且 更
图 1
p u b l i c c l a s s L o g i n l e x t e n d s J F r a me f
1
)
法均 已给出 , 第一种方法放在注释符号中 /
p r o t e c t e d v o i d p a i n t C omp o n e n t ( Gr a p h i c s g ) ( s u p er . p a i n t Co mp o n e n t ( g ) ;
/ j a v a . n e t . UR L i mg U r I = g e t C l a s s ( ) . g e t R e s o u r c e( “ / f l o we r , J p g ” 】 :
I ma g e l c o n i m=n e w I ma g el c o n ( i mg Ur 1 ) ; I ma g e i m= To o l k i t . g e t De f a u l t T o o l k i t( ) . g e t l ma g e( P a n e 1 . c l a s s .
java编程jtreetable用法
java编程jtreetable用法全文共四篇示例,供读者参考第一篇示例:Java编程中,JTreeTable是一个非常常用的控件,它实现了树状结构和表格的组合,可以方便地显示具有层级关系的数据。
在实际的项目开发中,往往需要展示类似文件目录树的数据结构,这时使用JTreeTable就非常方便了。
JTreeTable不是Java标准库中的组件,但是可以通过第三方库来实现,比如SwingX和GlazedLists。
这两个库都提供了JTreeTable相关的实现,开发者可以根据自己的需求选择适合自己的库来使用。
使用JTreeTable可以让界面变得更加直观和美观,用户可以通过展开和折叠树节点来查看详细信息,同时也可以对表格进行排序、过滤和搜索等操作。
下面我们来看一下如何在Java中使用JTreeTable。
我们需要导入相应的库,比如SwingX或者GlazedLists。
然后,我们可以通过以下代码来创建一个简单的JTreeTable:```JTreeTable treeTable = new JTreeTable(dataModel);```dataModel是实现了TreeTableModel接口的类的实例,这个类负责管理树节点和表格数据之间的关联关系。
可以根据自己的需求来实现这个接口,也可以使用已有的实现类。
接着,我们可以将JTreeTable添加到一个容器中,比如JScrollPane:这样就可以在界面上显示一个带有树状结构的表格了。
用户可以通过点击树节点来展开或者折叠子节点,也可以对表格进行排序、过滤和搜索等操作。
除了基本的使用方法之外,JTreeTable还提供了许多其他功能,比如编辑单元格、自定义表头和行高、设置列宽和对齐方式等。
开发者可以根据自己的需求来进行定制,使得界面更符合实际项目的需求。
第二篇示例:Java是一种流行的编程语言,广泛用于开发各种类型的应用程序。
JTreeTable是Java Swing组件库中的一个非常有用的控件,它结合了JTree和JTable的功能,可以方便地展示树状结构的数据。
java从数据库读取的数据转到java图形界面上
import java.sql.*;import java.awt.*;import javax.swing.*;import javax.swing.table.*;//import java.awt.event.*;public class DisplayDemo extends JFrame//implements ActionListener{// private StringdbURL="jdbc:microsoft:sqlserver://202.115.26.181:1433"; // 数据库标识名private String user="devon"; // 数据库用户private String password="book"; // 数据库用户密码private JTable table;private JButton ok,canel;public DisplayDemo(){super("显示数据库查询结果"); //调用父类构造函数String[] columnNames={"用户名","年龄","性别","Email"}; //列名Object[][] rowData=new Object[5][4]; //表格数据ok=new JButton("确定");canel=new JButton("取消");// ok.addActionListener(this);// canel.addActionListener(this);try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:example","sa","");// Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //加载驱动器// Connection con=DriverManager.getConnection(dbURL,user,password); //获取连接String sqlStr="select * from users"; //查询语句PreparedStatement ps=con.prepareStatement(sqlStr); //获取PreparedStatement对象ResultSet rs=ps.executeQuery(); //执行查询String name,sex,email; //查询结果int age;int count=0;while (rs.next()){ //遍历查询结果rowData[count][0]=rs.getString("name"); //初始化数组内容rowData[count][1]=Integer.toString(rs.getInt("age"));rowData[count][2]=rs.getString("sex");rowData[count][3]=rs.getString("email");count++;}con.close(); //关闭连接}catch(Exception ex){ex.printStackTrace(); //输出出错信息}Container container=getContentPane(); //获取窗口容器//container.setLayout(null);container.add(ok);container.add(canel);ok.setBounds(10,120,70,20);canel.setBounds(100,120,70,20);table=new JTable(rowData,columnNames); //实例化表格table.getColumn("年龄").setMaxWidth(25); //设置行宽container.add(new JScrollPane(table),BorderLayout.CENTER); //增加组件setSize(300,200); //设置窗口尺寸setVisible(true); //设置窗口可视setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序}public static void main(String[] args){new DisplayDemo();}}。
Java实现图片上传到服务器并把上传的图片读取出来
Java实现图⽚上传到服务器并把上传的图⽚读取出来在很多的⽹站都可以实现上传头像,可以选择⾃⼰喜欢的图⽚做头像,从本地上传,下次登录时可以直接显⽰出已经上传的头像,那么这个是如何实现的呢?下⾯说⼀下我的实现过程(只是个⼈实现思路,实际⽹站怎么实现的不太清楚)实现的思路:⼯具:MySQL,eclipse⾸先,在MySQL中创建了两个表,⼀个t_user表,⽤来存放⽤户名,密码等个⼈信息,⼀个t_touxiang表,⽤来存放上传的图⽚在服务器中的存放路径,以及图⽚名字和⽤户ID,T_touxiang表中的⽤户ID对应了t_user中的id。
t_user表SQL:DROP TABLE IF EXISTS `t_user`;CREATE TABLE `t_user` (`id` int(10) NOT NULL AUTO_INCREMENT,`username` varchar(20) NOT NULL,`password` varchar(255) NOT NULL,PRIMARY KEY (`id`),UNIQUE KEY `username` (`username`)) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;T_touxiang表SQL:DROP TABLE IF EXISTS `t_touxiang`;CREATE TABLE `t_touxiang` (`id` int(10) NOT NULL AUTO_INCREMENT,`image_path` varchar(255) DEFAULT NULL,`user_id` int(11) DEFAULT NULL,`old_name` varchar(255) DEFAULT NULL,PRIMARY KEY (`id`),KEY `img_user` (`user_id`),CONSTRAINT `img_user` FOREIGN KEY (`user_id`) REFERENCES `t_user` (`id`)) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;⾸先,写⼀个UploadServlet.Java,⽤来处理图⽚⽂件的上传,并将图⽚路径,图⽚名称等信息存放到t_touxiang数据表中,代码如下:@WebServlet("/UploadServlet.do")public class UploadServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 判断上传表单是否为multipart/form-data类型HttpSession session = request.getSession();User user = (User) session.getAttribute("user"); // 在登录时将 User 对象放⼊了会话// 中if (ServletFileUpload.isMultipartContent(request)) {try {// 1. 创建DiskFileItemFactory对象,设置缓冲区⼤⼩和临时⽂件⽬录DiskFileItemFactory factory = new DiskFileItemFactory();// System.out.println(System.getProperty("java.io.tmpdir"));//默认临时⽂件夹// 2. 创建ServletFileUpload对象,并设置上传⽂件的⼤⼩限制。
Java访问剪切板(复制,粘贴)的示例
ret = (String) clipTf .getTransferData(DataFlavor.stringFlavor);
public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException { if (isDataFlavorSupported(flavor)) return image; throw new UnsupportedFlavorException(flavor);
/** * 从剪切板获得文字。 */ public static String getSysClipboardText() { String ret = ""; Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard(); // 获取剪切板中的内容 Transferable clipTf = sysClip.getContents(null);
/** * 从剪切板获得图片。 */ public static Image getImageFromClipboard() throws Exception { Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard(); Transferable cc = sysc.getContents(null); if (cc == null) return null; else if (cc.isDataFlavorSupported(DataFlavor.imageFlavor)) return (Image) cc.getTransferData(DataFlavor.imageFlavor); return null; }
Java实现从数据库读取数据放入JList中
Java实现从数据库读取数据放入JList中import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;public class JTestextends JFrame {BorderLayout borderLayout1 = new BorderLayout();DefaultListModel lm=new DefaultListModel();JPanel jPanel1 = new JPanel();JPanel jPanel2 = new JPanel();JScrollPane jScrollPane1 = new JScrollPane();JLabel label3=new JLabel("与主题相关的网页");JList jlist1=new JList();JButton jButton1 = new JButton();Connection con;int columnCount;Statement st;ResultSet rs;public JTest() {super("TopicCrawler");try {jbInit();}catch (Exception exception) {}}private void jbInit() throws Exception {this.setDefaultCloseOperation(EXIT_ON_CLOSE);getContentPane().setLayout(borderLayout1);jPanel1.setLayout(null);jPanel2.setBounds(200,30,400,320);jPanel2.setLayout(null);label3.setBounds(310,10, 200, 25);jButton1.setBounds(new Rectangle(350, 390, 100, 24));jScrollPane1.setBounds(new Rectangle(10, 10, 370, 300));jButton1.setText("显示结果");jButton1.addActionListener(new ListFrame_jButton1_actionAdapter(this));this.getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);jlist1.setModel(lm);jPanel1.add(label3);jPanel1.add(jPanel2);jPanel1.add(jButton1);jPanel2.add(jScrollPane1);jScrollPane1.getViewport().add(jlist1);Class.forName("com.mysql.jdbc.Driver").newInstance();con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/crawler", "root", "root");st = con.createStatement();this.setSize(800,500);this.setV isible(true);}public static void main(String[] args) {JTest test = new JTest();}public void jButton1_actionPerformed(ActionEvent actionEvent) {try {rs=st.executeQuery("select * from complete_list");while (rs.next()) {lm.addElement( rs.getString(2));}}catch (SQLException ex) {System.out.println("1-->"+ex);}}class ListFrame_jButton1_actionAdapterimplements ActionListener {private JTest adaptee;ListFrame_jButton1_actionAdapter(JTest adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent actionEvent) {adaptee.jButton1_actionPerformed(actionEvent);}}}。
用java读取图片的三种方式
⽤java读取图⽚的三种⽅式说明:把图⽚显⽰在label上;常⽤api的作⽤;使⽤JFrame等时关闭窗⼝--退出调试的代码。
完整代码,已编译执⾏成功import javax.imageio.*;//for ImageIO.readimport java.awt.*;//for JFrame and JLabel etcimport javax.swing.*;//for JFrame and JLabel etcimport .*;//for URLimport java.io.*;//for catch (IOException e),File,InputStream, BufferedInputStream,and FileInputStream ect public class HelloJava{public static void main (String[] args){Image image = null;try {// Read from a fileFile sourceimage = new File("source.gif"); //source.gif图⽚要与HelloJava.java同在⼀⽬录下image = ImageIO.read(sourceimage);// Read from an input streamInputStream is = new BufferedInputStream(new FileInputStream("mid.jpg")); //mid.jpg图⽚要与HelloJava.java同在⼀⽬录下image = ImageIO.read(is);// Read from a URLURL url = new URL("");image = ImageIO.read(url);} catch (IOException e) {}// Use a label to display the imageJFrame frame = new JFrame();JLabel label = new JLabel(new ImageIcon(image));frame.getContentPane().add(label, BorderLayout.CENTER);frame.pack();frame.setVisible(true);//关闭窗⼝--退出调试frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}。
java 读取二进制图片
package text;import javax.swing.*;import java.awt.*;import .*;public class myjava extends JWindow implements Runnable{Thread splashThread=null;public myjava(){setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));//设置启动界面的光标样式JPanel splash=new JPanel(new BorderLayout());URL url=getClass().getResource("C:\\Documents and Settings\\AllUsers\\Documents\\My Pictures\\示例图片");//获得指定资源文件的绝对路径。
if(url!=null){splash.add(new JLabel(new ImageIcon(url)),BorderLayout.CENTER);}setContentPane(splash);Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();//获得屏幕的大小pack();setLocation((screen.width-getSize().width)/2,(screen.height-getSize().h eight)/2);//使启动窗口居中显示start();}public void start(){toFront();//window类的toFront()方法可以让启动界面显示的时候暂时在最前面,用window类的setAlwayOnTop(boolean)方法可以让窗口总保持在最前面。
splashThread=new Thread(this);splashThread.start();}public void run(){try{setVisible(true);Thread.sleep(50000);}catch(Exception e){e.printStackTrace();}dispose();}static void showFrame(String title){JFrame frame=new JFrame(title);frame.setSize(400,300);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Dimension screenSize=frame.getToolkit().getScreenSize();//获得屏幕的大小Dimension frameSize=frame.getSize();if(frameSize.height>screenSize.height)frameSize.height=screenSize.height;}if(frameSize.width>screenSize.width){frameSize.width=screenSize.width;}frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.heig ht-frameSize.height)/2);frame.setVisible(true);}public static void main(String[] args){showFrame("Demo splash window");myjava splash=new myjava();//splash.start();}}package text;import javax.swing.*;import java.awt.*;import .*;public class myjava extends JWindow implements Runnable{Thread splashThread=null;public myjava(){setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));//设置启动界面的光标样式JPanel splash=new JPanel(new BorderLayout());URL url=getClass().getResource("C:\\Documents and Settings\\AllUsers\\Documents\\My Pictures\\示例图片");//获得指定资源文件的绝对路径。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java从数据库中读取图片到Jpanel
想索取更多相关资料请加qq:649085085或登录 PS;本文档由北大青鸟广安门收集自互联网,仅作分享之用。
Java从数据库中读取图片到Jpanel,代码如下:
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.imageio.ImageIO;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
public class pictest
{
public pictest(){
JFrame f=new JFrame();
Container p=f.getContentPane();
ppic pic=null;
InputStream in=null;
try{
int i=3;
String url="****************";
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection(url,"***","***"); //连接到数据库
if(!con.isClosed())
System.out.println("数据库连接成功");
String sql="select * from campusimage";
Statement st=con.createStatement();
ResultSet rs=st.executeQuery(sql);
for(int j=0;j<i;j++)
rs.next();
if(rs.next())
in=rs.getBinaryStream(1);
pic=new ppic(in);
rs.close();
st.close();
con.close();
}catch(Exception e){e.printStackTrace();}
p.setLayout(null);
p.add(pic);
f.setBounds(500,400,800,900);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
class ppic extends JPanel
{ BufferedImage bi;
ppic(InputStream in){
try{
bi=ImageIO.read(in);
setBounds(0,0,700,600);
}catch(Exception e){e.printStackTrace();}
}
public void paint(Graphics g){
g.drawImage(bi,0,0,700,600,null);
}
}
public static void main(String[] args){
new pictest();
}
}
ps:网上许多人都是把数据库中的图片实例化到本地,不仅读取速度慢,而且浪费内存,当时如果你的图片非常小就算了。
想索取更多相关资料请加qq:649085085或登录 PS;本文档由北大青鸟广安门收集自互联网,仅作分享之用。