Java 摆动错误“'void' 此处不允许输入”
Java swing error " 'void' type not allowed here "
我收到错误消息'void'此处不允许输入
代码:
public void create(JPanel jp){
jp.add(new JButton().setPreferredSize(new Dimension(40, 40)));
}
但是当我使用没有 .setPreferredSize(new Dimension(40, 40))
的相同代码时它工作正常。
工作代码
public void create(JPanel jp){
jp.add(new JButton());
}
setPreferredSize
"returns" a void
, so it cannot be passed as a parameter to add
。您必须分解代码并分成几个语句:
public void create(JPanel jp){
JButton myButton = new JButton();
myButton.setPreferredSize(new Dimension(40, 40));
jp.add(myButton);
}
setPreferredSize
的内部代码来自此处 http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/javax/swing/JComponent.java#JComponent.setPreferredSize%28java.awt.Dimension%29
public void setPreferredSize(Dimension preferredSize) {
super.setPreferredSize(preferredSize);
}
当您尝试执行此代码时
jp.add(new JButton().setPreferredSize(new Dimension(40, 40)));
new JButton().setPreferredSize(new Dimension(40, 40))
return void,这就是为什么您得到此 'void' 此处不允许的类型的原因
当您尝试仅添加 new JButton()
时,它工作正常,因为您正在添加 JButton
.
的实例
解决方案:
JButton myButton = new JButton();
myButton.setPreferredSize(new Dimension(40, 40));
jp.add(myButton);
我收到错误消息'void'此处不允许输入
代码:
public void create(JPanel jp){
jp.add(new JButton().setPreferredSize(new Dimension(40, 40)));
}
但是当我使用没有 .setPreferredSize(new Dimension(40, 40))
的相同代码时它工作正常。
工作代码
public void create(JPanel jp){
jp.add(new JButton());
}
setPreferredSize
"returns" a void
, so it cannot be passed as a parameter to add
。您必须分解代码并分成几个语句:
public void create(JPanel jp){
JButton myButton = new JButton();
myButton.setPreferredSize(new Dimension(40, 40));
jp.add(myButton);
}
setPreferredSize
的内部代码来自此处 http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/javax/swing/JComponent.java#JComponent.setPreferredSize%28java.awt.Dimension%29
public void setPreferredSize(Dimension preferredSize) {
super.setPreferredSize(preferredSize);
}
当您尝试执行此代码时
jp.add(new JButton().setPreferredSize(new Dimension(40, 40)));
new JButton().setPreferredSize(new Dimension(40, 40))
return void,这就是为什么您得到此 'void' 此处不允许的类型的原因
当您尝试仅添加 new JButton()
时,它工作正常,因为您正在添加 JButton
.
解决方案:
JButton myButton = new JButton();
myButton.setPreferredSize(new Dimension(40, 40));
jp.add(myButton);