class CalculatorGUITextArea extends JPanel
{
private JButton addRowButton;
private JScrollPane scroll;
private JButton minusRowButton;
private JTextArea textArea;
private GroupLayout layout;
private TextAreaRowListener rowListener;
public CalculatorGUI cg;
public CalculatorGUITextArea(CalculatorGUI cg)
{
scroll = new JScrollPane();
textArea = new JTextArea();
addRowButton = new JButton("+");
minusRowButton = new JButton("-");
layout = new GroupLayout(this);
setLayout(layout);
buildGUI();
}
public void minusRow()
{
textArea.setRows(textArea.getRows()-1)
revalidate();
}
public void addRow()
{
Dimension d=textArea.getSize();
textArea.setSize(d.width, d.height+10);
revalidate();
}
public void buildGUI()
{
textArea.setColumns(20);
textArea.setRows(5);
scroll.setViewportView(textArea);
rowListener=new TextAreaRowListener(this);
addRowButton.setMargin(new Insets(1, 1, 1, 1));
addRowButton.addActionListener(rowListener);
minusRowButton.setMargin(new Insets(1, 1, 1, 1));
minusRowButton.addActionListener(rowListener);
layout.setHorizontalGroup(
layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING, false)
.addComponent(minusRowButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(addRowButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(scroll, GroupLayout.PREFERRED_SIZE, 336, GroupLayout.PREFERRED_SIZE)
.addContainerGap(33, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(addRowButton)
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 102, Short.MAX_VALUE)
.addComponent(minusRowButton))
.addComponent(scroll, GroupLayout.Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 148, Short.MAX_VALUE))
.addContainerGap())
);
}
}