我目前正在将应用程序从 JDK 1.5.0_06 迁移到 1.8.0_66。在应用程序中,有多个文件使用 com.sun.image.codec.jpeg 类。当我尝试创建 JAR 时,出现以下错误。
error: package com.sun.image.codec.jpeg does not exist import com.sun.image.codec.jpeg.*;
Run Code Online (Sandbox Code Playgroud)
我参考了有关为 Java 7 替换已弃用的 Java JPEG 类的博客,我的错误已清除。但现在我收到以下警告:
warning: JPEGImageWriter is internal proprietary API and may be removed in a future release import com.sun.imageio.plugins.jpeg.JPEGImageWriter;
Run Code Online (Sandbox Code Playgroud)
博客中有问题的代码:
public static void saveAsJPEG(String jpgFlag, BufferedImage image_to_save, float JPEGcompression, FileOutputStream fos) throws IOException {
// Image writer
JPEGImageWriter imageWriter = (JPEGImageWriter) ImageIO.getImageWritersBySuffix("jpeg").next();
ImageOutputStream ios = ImageIO.createImageOutputStream(fos);
imageWriter.setOutput(ios);
//and metadata
IIOMetadata imageMetaData = imageWriter.getDefaultImageMetadata(new ImageTypeSpecifier(image_to_save), null);
if (jpgFlag …Run Code Online (Sandbox Code Playgroud) 我正在编写一个用于匹配特定模式的正则表达式,如下所示。
我们都熟悉我们在通过 Word 文档打印选择性页面时给出的模式。IE
有效值:
1, 3, 6-9
1-5, 5
6, 9
Run Code Online (Sandbox Code Playgroud)
无效值:
,5
5-,9
9-5,
2,6-
Run Code Online (Sandbox Code Playgroud)
我一直在使用该模式,(([0-9]+)|(\\d.*[-,]\\d.*)+)但它不适用于所有排列组合。
任何帮助将不胜感激!
根据我的要求,UI应该显示如下图所示。
我试图通过使用下面的代码来达到相同的目的。
package com.samples;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.CompoundBorder;
import javax.swing.border.EmptyBorder;
import javax.swing.border.TitledBorder;
public class MyFrame extends JFrame {
public MyFrame() {
}
public static void main(String[] args) {
Runnable runner = new Runnable() {
public void run() {
JFrame frame = new JFrame("My Sample Frame");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(1000, 800);
frame.setVisible(true);
JPanel jpOPanel = new JPanel();
jpOPanel.setBorder(new CompoundBorder(new …Run Code Online (Sandbox Code Playgroud)