八达网

标题: =======达人都去哪了=========java达人帮忙做道题 [1500水晶] [打印本页]

作者: 嘎^-^嘎    时间: 2007-12-25 13:57
标题: =======达人都去哪了=========java达人帮忙做道题 [1500水晶]
编写继承自JFrame类的窗口应用程序,该程序至少实现如下功能:
1.该程序以wzr09为程序名。
2.该程序实现浏览.jpg的图片功能;
3.其布局为边框布局,窗口中间放置一个标签对象,其中显示一幅图片,默认情况下显示当前目录的第一副图片
4.窗口有两个菜单“文件”和“浏览”。“文件”菜单下有两个菜单项“打开”和“关闭”:点击 “打开”菜单项则显示打开文件对话框,选择目录中的jpg图片文件,则把该图片在窗口子类的paint方法中显示,当前目录更改为该图片文件所在的目录;点击 “关闭”菜单项则退出应用程序。“浏览”菜单下有两个菜单项“自动浏览”和“全屏浏览”:点击 “自动浏览”菜单项则自动浏览目录下的所有图片;点击 “全屏浏览”菜单项则以全屏浏览图片,压下键盘键“Esc”,则取消“全屏浏览”,压下键盘键“X”,则取消“自动浏览”。
5.窗口下面有四个按钮,分别用来实现“浏览第一副图片”、“浏览前一副图片”、“浏览后一副图片”和“浏览最后一副图片”的功能



水晶回太少吗?

[ 本帖最后由 嘎^-^嘎 于 2007-12-25 14:18 编辑 ]
作者: KoMoS    时间: 2007-12-25 14:12
还是有点小复杂的

200估计太少了      去程序群里找人帮忙吧
作者: 嘎^-^嘎    时间: 2007-12-25 14:13
牌小没人理
作者: [rva]ilovegaga    时间: 2007-12-25 14:14
我再出1000
作者: 嘎^-^嘎    时间: 2007-12-25 14:14
原帖由 KoMoS 于 2007-12-25 14:12 发表
还是有点小复杂的

200估计太少了      去程序群里找人帮忙吧


加到500 ...
程序群是多少啊
作者: 嘎^-^嘎    时间: 2007-12-25 14:15
原帖由 [rva]ilovegaga 于 2007-12-25 14:14 发表
我再出1000



谢谢赞助`````
作者: KoMoS    时间: 2007-12-25 14:19
3159453
找SYP
作者: 嘎^-^嘎    时间: 2007-12-25 14:20
谢谢LS...
作者: 以后潜水    时间: 2007-12-25 14:22
其他语言的要不?
作者: W_M_W    时间: 2007-12-25 14:32
很简单啊
作者: 嘎^-^嘎    时间: 2007-12-25 14:37
其他语言 我也看不懂

LS帮忙
作者: 嘎^-^嘎    时间: 2007-12-25 15:03

作者: benbensyp    时间: 2007-12-25 15:21
我操,这么简单的题没看到.
作者: [rva]ilovegaga    时间: 2007-12-25 15:53
原帖由 benbensyp 于 2007-12-25 15:21 发表
我操,这么简单的题没看到.

快 1500水晶等着你
作者: 嘎^-^嘎    时间: 2007-12-25 17:28
原帖由 benbensyp 于 2007-12-25 15:21 发表
我操,这么简单的题没看到.



对我来说不简单啊
作者: 小田鼠    时间: 2007-12-25 17:36

作者: 嘎^-^嘎    时间: 2007-12-25 18:11
try {
                        File _file = new File(filePath); // 读入文件
                        Image src = javax.imageio.ImageIO.read(_file); // 构造Image对象
               
                        BufferedImage tag = new BufferedImage(wideth, height,BufferedImage.TYPE_INT_RGB);
                        tag.getGraphics().drawImage(src, 0, 0, wideth, height, null); // 绘制缩小后的图

                        FileOutputStream out = new FileOutputStream(newFilePath); // 输出到文件流
                        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
                        encoder.encode(tag); // 近JPEG编码
                        out.close();
                } catch (Exception e) {
                        // TODO: handle exception
                }
作者: 嘎^-^嘎    时间: 2007-12-25 18:13
import javax.swing.*;

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;

public class PhotoViewArea extends JPanel {
        public PhotoViewArea() {
                super();
                this.setLayout(new GridBagLayout());
                GridBagConstraints c = new GridBagConstraints();
                c.gridx = 0;
                c.gridy = 0;
                c.gridwidth = 1;
                c.gridheight = 1;
                c.weightx = 1;
                c.weighty = 1;
                c.fill = GridBagConstraints.BOTH;
                ;
                c.anchor = GridBagConstraints.NORTH;
                JScrollPane photoPane = new JScrollPane(
                                JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                                JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
                photoPanel.setPreferredSize(new Dimension(500, 600));
                photoPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 4));

                //加入图片
                for (int i = 0; i < 8; i++) {
                        String filePath = "d:/DSC0013" + i + ".jpg";
                        String newFilePath = i + ".jpg";
                        addPhoto(filePath, newFilePath);
                }

                photoPane.setViewportView(photoPanel);
                this.add(photoPane, c);
        }

        public void addPhoto(String filePath, String newFilePath) {
                int wideth = 100;
                int height = 100;
                try {
                        File _file = new File(filePath); // 读入文件
                        Image src = javax.imageio.ImageIO.read(_file); // 构造Image对象
               
                        BufferedImage tag = new BufferedImage(wideth, height,BufferedImage.TYPE_INT_RGB);
                        tag.getGraphics().drawImage(src, 0, 0, wideth, height, null); // 绘制缩小后的图

                        FileOutputStream out = new FileOutputStream(newFilePath); // 输出到文件流
                        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
                        encoder.encode(tag); // 近JPEG编码
                        out.close();
                } catch (Exception e) {
                        // TODO: handle exception
                }
                ImageIcon icon = new ImageIcon(newFilePath);
                icon.setImage(icon.getImage().getScaledInstance(wideth, height,Image.SCALE_FAST));//设置图片大小
                JLabel l = new JLabel("fileName", icon, SwingConstants.CENTER);
                l.setVerticalTextPosition(JLabel.BOTTOM);
                l.setHorizontalTextPosition(JLabel.CENTER);
                l.setBorder(BorderFactory.createLineBorder(Color.BLACK));
                photoPanel.add(l);
        }

        JPanel photoPanel = new JPanel();

        public static void main(String[] args) {
                JFrame f = new JFrame("");
                JPanel p = new PhotoViewArea();
                f.getContentPane().add(p);
                f.pack();
                f.addWindowListener(new WindowAdapter() {
                        public void windowClosing(WindowEvent evt) {
                                System.exit(0);
                        }
                });
                f.setVisible(true);
        }
}
作者: KoMoS    时间: 2007-12-25 18:59
水晶怎么反而变多了
作者: 光脚打星际    时间: 2007-12-25 19:46
提示: 作者被禁止或删除 内容自动屏蔽
作者: panGzi.XIAO    时间: 2007-12-25 21:01
用JBU或MYE直接拖出来再说阿..~




欢迎光临 八达网 (https://www.8-da.com/) Powered by Discuz! X2.5