我收到一条错误消息,告诉我无法从静态上下文中引用非静态方法 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();
}
});
}
}