我做了一个程序来显示旋转给定的。jpg文件。编译有困难,因为它声明:
error: Illegal static declaration in inner class Lec8.MyJPanel
public static BufferedImage toBufferedImage(Image img) {
^
modifier 'static' is only allowed in constant variable declarations
1 error"
import javax.swing.*;
import java.awt.*;
public Lec8() throws IOException {
setSize(1000, 500);
setTitle("Java Programing");
getContentPane().add(scrollPane);
myJPanel.setLayout(new GridLayout());
myJPanel.add(myJPanell);
setVisible(true);
}
public static void main(String[] args) throws IOException {
new Lec8();
}
public class MyJPanel extends JPanel {
Image ima;
Image ima90;
Image imaflip;
Image imatrans;
public MyJPanel() throws IOException {
setBackground(Color.white);
Toolkit toolkit = Toolkit.getDefaultToolkit();
ima = toolkit.getImage("sample2.jpg");
MediaTracker mt = new MediaTracker(this);
mt.addImage(ima, 0);
try {
mt.waitForAll();
} catch (InterruptedException ignored) {
}
imaflip = genImageFlipVirt(ima);
ima90 = genImageRotate90(ima);
imatrans = genImageWithAlpha(ima, 50);
}
public static BufferedImage toBufferedImage(Image img) {
// ERROR GENERATAED HERE STATING
// Illegal static declaration in inner class Lec8.MyJPanel public static BufferedImage toBufferedImage(Image img) { ^ modifier 'static' is only allowed in constant variable declarations 1 error
}
}
}
公共类MyJPanel extends JPanel{
需要将其设置为静态
以便支持静态
方法或属性,除非您使用的是Java16+。
话虽如此,您可以通过使用ImageIo
而不是Toolkit
来避免这个问题,例如...
public class MyJPanel extends JPanel {
BufferedImage ima;
Image ima90;
Image imaflip;
Image imatrans;
public MyJPanel() throws IOException {
setBackground(Color.white);
ima = ImageIO.read(new File("sample2.jpg"));
imaflip = genImageFlipVirt(ima);
ima90 = genImageRotate90(ima);
imatrans = genImageWithAlpha(ima, 50);
}
}
有关更多详细信息,请参见读取/加载图像
镜像/翻转图像实际上非常简单(这是一种巧妙的副作用),例如,AffineTransform.rotate()--如何同时进行xlate、Roting和scale?
问题内容: 我有一个内部类,用于存储用于游戏的控件的信息,现在我想在其中存储一个静态ArrayList,其中包含控件的所有名称。但我收到此错误:“仅在常量变量声明中允许使用修饰符静态” 现在,我知道可以通过将ArrayList移出类并将其存储在主类中来轻松解决。但是我宁愿将所有信息都放在一个类中,以便我可以访问所有内容。 “ Control.key,Control.trigger,Control.
问题内容: 我正在学习Google的新语言Go。我只是在尝试一些东西,我注意到,如果您声明一个变量并且不对其执行任何操作,则go编译器(在我的情况下为 8g )将无法 编译,并显示以下错误:。令我惊讶的是,大多数语言编译器只是 警告 您有关未使用的变量,但仍会编译。 无论如何,我能解决这个问题吗?我检查了编译器的文档,但看不到任何会改变此行为的内容。有没有一种方法可以删除以进行编译? 问题答案:
问题内容: Java语言文档说: 如果将原始类型或字符串定义为常量,并且在编译时知道该值,则编译器会使用其值替换代码中各处的常量名称。这称为编译时常量。 我的理解是,如果我们有一段代码: 然后,编译器会将x代码中每次出现的内容替换为literal 10。 但假设常量在运行时初始化: 与编译时常量相比,性能是否会下降(无论可以忽略不计)? 另一个问题是下面的代码行: 被编译器以与编译时常量相同的方式
问题内容: 我偶然发现了一个奇怪的问题,下面的代码无法编译: 错误(代码是linter推荐的代码)。: 注意,确实使用了该变量。 但是,如果我添加了else块-一切都会按预期编译: 这看起来像是编译器中的错误,还是一个已知问题?任何想法?(我正在使用go 1.11) 编辑:到目前为止的所有被告。按照:https : //golang.org/ref/spec#Short_variable_decl
修正错误: java:9:error:'else'不带'if'else if(首付>carloan);
我使用mariadb和heidisql来执行sql: DECLARE@Account tID INT; 将值('testfirstname','a','testlastname','user@email.com“,1,1,NOW()); set@Account tID=Last_Insert_Id(); 我一直收到一个错误: QL Error(1064):您的SQL语法有错误;查看与您的Maria