TopButtonPanel.java: Difference between revisions
Appearance
m wrong content type |
|||
Line 1: | Line 1: | ||
From: [[Into Java - Part XVI]] | |||
<PRE> | |||
import java.awt.*; | |||
import java.awt.event.*; | |||
import javax.swing.*; | |||
import javax.swing.border.*; | |||
public class TopButtonPanel extends JPanel | |||
implements ActionListener { | |||
private PaintBox owner; | |||
private JButton lineButton; | |||
private JButton rectButton; | |||
private JButton ovalButton; | |||
private JButton filledButton; | |||
private JLabel shape; | |||
private boolean filled = true; | |||
public TopButtonPanel (PaintBox o) { | |||
owner = o; | |||
setLayout(new GridLayout(1, 5)); | |||
lineButton = new JButton("Line"); | |||
lineButton.addActionListener(this); | |||
add(lineButton); | |||
rectButton = new JButton("Rectangle"); | |||
rectButton.addActionListener(this); | |||
add(rectButton); | |||
ovalButton = new JButton("Oval"); | |||
ovalButton.addActionListener(this); | |||
add(ovalButton); | |||
filledButton = new JButton("Filled"); | |||
filledButton.addActionListener(this); | |||
add(filledButton); | |||
shape = new JLabel(" Rectangle"); | |||
shape.setBackground(Color.white); | |||
shape.setForeground(Color.black); | |||
shape.setOpaque(true); | |||
shape.setBorder(BorderFactory.createBevelBorder( | |||
BevelBorder.LOWERED)); | |||
add(shape); | |||
} | |||
public void actionPerformed(ActionEvent e) { | |||
Object obj = e.getSource(); | |||
if (obj == filledButton) { | |||
if (filled) { // filled true | |||
filled = false; | |||
owner.setFilled(filled); | |||
filledButton.setText("Not filled"); | |||
} else { | |||
filled = true; | |||
owner.setFilled(filled); | |||
filledButton.setText("Filled"); | |||
} | |||
/* constants found in PaintPanel are used*/ | |||
} else if (obj == lineButton) { | |||
owner.setShape(PaintPanel.LINE); | |||
shape.setText(" Line"); | |||
} else if (obj == rectButton) { | |||
owner.setShape(PaintPanel.RECTANGLE); | |||
shape.setText(" Rectangle"); | |||
} else { // must be ovalButton | |||
owner.setShape(PaintPanel.OVAL); | |||
shape.setText(" Oval"); | |||
} | |||
} | |||
} | |||
</PRE> | |||
[[Category:Into Java]] |
Latest revision as of 23:54, 13 June 2020
From: Into Java - Part XVI
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; public class TopButtonPanel extends JPanel implements ActionListener { private PaintBox owner; private JButton lineButton; private JButton rectButton; private JButton ovalButton; private JButton filledButton; private JLabel shape; private boolean filled = true; public TopButtonPanel (PaintBox o) { owner = o; setLayout(new GridLayout(1, 5)); lineButton = new JButton("Line"); lineButton.addActionListener(this); add(lineButton); rectButton = new JButton("Rectangle"); rectButton.addActionListener(this); add(rectButton); ovalButton = new JButton("Oval"); ovalButton.addActionListener(this); add(ovalButton); filledButton = new JButton("Filled"); filledButton.addActionListener(this); add(filledButton); shape = new JLabel(" Rectangle"); shape.setBackground(Color.white); shape.setForeground(Color.black); shape.setOpaque(true); shape.setBorder(BorderFactory.createBevelBorder( BevelBorder.LOWERED)); add(shape); } public void actionPerformed(ActionEvent e) { Object obj = e.getSource(); if (obj == filledButton) { if (filled) { // filled true filled = false; owner.setFilled(filled); filledButton.setText("Not filled"); } else { filled = true; owner.setFilled(filled); filledButton.setText("Filled"); } /* constants found in PaintPanel are used*/ } else if (obj == lineButton) { owner.setShape(PaintPanel.LINE); shape.setText(" Line"); } else if (obj == rectButton) { owner.setShape(PaintPanel.RECTANGLE); shape.setText(" Rectangle"); } else { // must be ovalButton owner.setShape(PaintPanel.OVAL); shape.setText(" Oval"); } } }