import javax.imageio.ImageIO; import javax.swing.*; import javax.swing.filechooser.FileFilter; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; /** * Created by asus on 2017/3/31. */ public class qqHeadFrame extends JFrame implements ActionListener { private JPanel cardPanel; private JPanel buttonPanel; private JPanel firstPanel, secondPanel, thirdPanel; private CardLayout cardLayout; private JButton firstButton, secondButton, thirdButton, localPicButton, selPicButton; private JLabel photoLabel; private JFileChooser jc; public qqHeadFrame() { init(); setTitle("更换头像"); setSize(625, 470); setLocationRelativeTo(null); setVisible(true); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); initFileChooser(); } public void init() { add(getButtonPanel(), BorderLayout.NORTH); add(getCardPanel(), BorderLayout.CENTER); } private void initFileChooser() { jc = new JFileChooser(); jc.addChoosableFileFilter(new FileFilter() { @Override public boolean accept(File f) { if (f.isDirectory()) return true; if (f.getName().endsWith(".png") || f.getName().endsWith(".jpg") || f.getName().endsWith(".gif")) return true; return false; } @Override public String getDescription() { return "*.png|*.jpg|*.gif"; } }); } public JPanel getButtonPanel() { buttonPanel = new JPanel(); firstButton = new JButton("自定义头像"); secondButton = new JButton("经典头像"); thirdButton = new JButton("动态头像"); firstButton.addActionListener(this); secondButton.addActionListener(this); thirdButton.addActionListener(this); buttonPanel.add(firstButton); buttonPanel.add(secondButton); buttonPanel.add(thirdButton); return buttonPanel; } public JPanel getCardPanel() { cardLayout = new CardLayout(); cardPanel = new JPanel(cardLayout); cardPanel.add(getFirstPanel(), "first"); cardPanel.add(getSecondPanel(), "second"); cardPanel.add(getThirdPanel(), "third"); return cardPanel; } public JPanel getFirstPanel() { firstPanel = new JPanel(); firstPanel.setBackground(new Color(164, 217, 248)); firstPanel.setLayout(null); localPicButton = new JButton("本地照片"); selPicButton = new JButton("自拍头像"); localPicButton.setBounds(8, 8, 120, 24); selPicButton.setBounds(136, 8
如何用java swing写出一个自拍头像上传头像的界面
这篇博客展示了如何使用Java Swing构建一个自拍头像上传界面,包括选择本地图片、显示预览和捕获自拍等功能,涉及文件过滤、图像处理等技术。
摘要由CSDN通过智能技术生成