gpt4 book ai didi

java - 尝试使用获取缩放实例将图像添加到 JButton

转载 作者:行者123 更新时间:2023-12-01 23:18:57 26 4
gpt4 key购买 nike

我收到一条错误消息,告诉我无法从静态上下文引用非静态方法 addComponents ToPane(container)。

我刚刚开始编程两个多月,所以请耐心等待。

package prototype;

import static com.oracle.util.Checksums.update;
import java.awt.*;
import java.util.Locale;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;

public class NewClass {

final static boolean shouldFill = true;
final static boolean shouldWeightX = true;
final static boolean RIGHT_TO_LEFT = false;

public void addComponentsToPane(Container pane) {
if (RIGHT_TO_LEFT) {

pane.setLocale(Locale.UK);
}

JButton button;
JButton buttonc;
pane.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
if (shouldFill) {
c.fill = GridBagConstraints.HORIZONTAL;

pane.setLayout(new GridBagLayout());
GridBagConstraints cc = new GridBagConstraints();
if (shouldFill) {
cc.fill = GridBagConstraints.HORIZONTAL;

}

button = new JButton("Button 1");
if (shouldWeightX) {
c.weightx = 0.5;
}
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 0;
c.gridy = 0;
pane.add(button, c);

try {
Image i = Toolkit.getDefaultToolkit().getImage("red.JPEG");
Image resize = i.getScaledInstance(200, 180, java.awt.Image.SCALE_SMOOTH);
ImageIcon ic = new ImageIcon(resize);
button.setIcon(ic);

buttonc = new JButton("", ic);
cc.fill = GridBagConstraints.HORIZONTAL;
cc.ipady = 20; //reset to default
cc.weightx = 0.0; //request any extra vertical space
cc.gridx = 2; //aligned with button 2
cc.gridwidth = 1; //2 columns wide
cc.gridy = 2; //third row
pane.add(button, ic);

} catch (Exception e) {
}

}
}

private static void createAndShowGUI() {
JFrame frame = new JFrame("GridBagLayoutDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addComponentsToPane(frame.getContentPane());
frame.pack();
frame.setVisible(true);
}

public static void main(String[] args) {

javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}

最佳答案

变量ic仅在try/catch block 的范围内可见。将变量的声明移出 block

对于更新后的代码,请忘记使用静态方法。该代码适用于类的特定实例,因此应该是实例方法

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {
public void run() {
new NewClass().createAndShowGUI();
}
});
}

关于java - 尝试使用获取缩放实例将图像添加到 JButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20831759/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com