[SOLVED] [newbie] The method GBC(int, int) is undefined for the type FontFrame
Do you see the problem here? The method GBC.setInsets() exists.
See error below.
:confused:
Code:
[B]FontFrame.java[/B]
package homenetwork.bkr.training;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
@SuppressWarnings("serial")
public class FontFrame extends JFrame {
public FontFrame() {
setTitle("GridBagLayout Test");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
GridBagLayout layout = new GridBagLayout();
setLayout(layout);
ActionListener listener = new FontAction();
//construct components
@SuppressWarnings("unused")
JLabel faceLabel = new JLabel("Face :");
face = new JComboBox(new String[] {"Serif", "SansSerif", "Monospaced", "Dialog", "DialogInput"});
face.addActionListener(listener);
@SuppressWarnings("unused")
JLabel sizeLabel = new JLabel("Size: ");
size = new JComboBox(new String[] {"8","10","12","15", "18", "24", "36", "48"});
size.addActionListener(listener);
bold = new JCheckBox("Bold");
bold.addActionListener(listener);
/* FIX */
sample = new JTextArea();
sample.setText("The quick brown fox jumps over the lazy dog.");
sample.setEditable(false);
sample.setLineWrap(true);
sample.setBorder(BorderFactory.createEtchedBorder());
//add components to grid, using GBC convenience class
add(faceLabel, new GBC(0,0).setAnchor(GBC.EAST));
add(face, new GBC(1,0).setAnchor(GBC.HORIZONTAL));
add(sizeLabel, new GBC(0,1).setAnchor(GBC.EAST));
add(size, new GBC(1,1).setFill(GBC.HORIZONTAL).setWeight(100,0).setInsets);
add(bold, new GBC(0,2,2,1).setAnchor(GBC.CENTER).setWeight(100,0).setInsets);
add(italic, new GBC(0,3,2,1).setAnchor(GBC.CENTER).setWeight(100,100));
add(sample, new GBC(2,0,1,4).setAnchor(GBC.BOTH).setWeight(100,100));
}
public static final int DEFAULT_WIDTH = 300;
public static final int DEFAULT_HEIGHT = 200;
private JComboBox face;
private JComboBox size;
private JCheckBox bold;
private JCheckBox italic;
private JTextArea sample;
/**
* An action listener that changes the font of the sample text
*/
private class FontAction implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
String fontFace = (String) face.getSelectedItem();
int fontStyle = (bold.isSelected() ? Font.BOLD : 0) +
(italic.isSelected() ? Font.ITALIC : 0);
int fontSize = Integer.parseInt((String) size.getSelectedItem());
Font font = new Font(fontFace, fontStyle, fontSize);
sample.setFont(font);
sample.repaint();
}
}
}
[B]GBC.java[/B]
package homenetwork.bkr.training;
import java.awt.*;
@SuppressWarnings("serial")
/** Convenience class GBC which abbreviates java.awt.GridBagConstraints.
*/
public class GBC extends GridBagConstraints {
/**
* Constructs a GBC with a given gridx and gridy position and all other grid
* bag constraint values set to the default.
* @param gridx: the gridx position
* @param gridy: the gridy position
*/
public GBC (int gridx, int gridy)
{
this.gridx = gridx;
this.gridy = gridy;
}
/** Constructs a GBC with given gridx, gridy, gridwidth, gridheight and all
* other grid bag constraint values set to the default.
* @param gridx: the gridx position
* @param gridy: the gridy position
* @param gridwidth: the cell span in x-direction
* @param gridheight: the cell span in y-direction
*/
public GBC (int gridx, int gridy, int gridwidth, int gridheight)
{
this.gridx = gridx;
this.gridy = gridy;
this.gridwidth = gridwidth;
this.gridheight = gridheight;
}
/** Sets the anchor.
* @param anchor: the anchor value
* @param return: this object for further modification
*/
public GBC setAnchor(int anchor)
{
this.anchor = anchor;
return this;
}
/**
* Sets the fill direction.
* @param fill: the fill direction.
* @return: this object for further modification
*/
public GBC setFill(int fill)
{
this.fill = fill;
return this;
}
/**
* Sets the cell weights
* @param weightx: the cell weight in x-direction
* @param weighty: the cell height in y-direction
* @return: this object for further modification
*/
public GBC setWeight(double weightx, double weighty)
{
this.weightx = weightx;
this.weighty = weighty;
return this;
}
/**
* Sets the insets of this cell.
* @param top: the spacing to use on top
* @param left: the spacing to use to the left
* @param bottom: the spacing to use to the bottom
* @param right: the spacing to use to the right
* @return: this object for further modification
*/
public GBC setInsets(int top, int left, int bottom, int right)
{
this.insets = new Insets(top, left, bottom, right);
return this;
}
/** Sets the internal padding.
* @param: ipadx: the internal padding in x-direction
* @param: ipady: the internal padding in y-direction
*/
public GBC setIpad(int ipadx, int ipady)
{
this.ipadx = ipadx;
this.ipady = ipady;
return this;
}
}
Error:
Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problems:
setInsets cannot be resolved or is not a field
setInsets cannot be resolved or is not a field
at homenetwork.bkr.training.FontFrame.<init>(FontFram e.java:44)
at homenetwork.bkr.training.GridBagLayoutTest$1.run(G ridBagLayoutTest.java:14)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(U nknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)