“swing” - constructing guis jbutton jtextfield. layout managers centerwest center borderlayout...
DESCRIPTION
BorderLayout CENTERWEST SOUTH EAST NORTHTRANSCRIPT
“Swing” - Constructing GUIs
JButton
JTextField
Layout ManagersCENTERWEST
WEST CENTER
BORDERLAYOUT
this.setLayout(new BorderLayout()); this.add(displayCanvas, BorderLayout.CENTER); this.add(outerpanelLeft, BorderLayout.WEST);
JButtonJButton
JPanelJButto
nJButton
BorderLayout
CENTERWEST
SOUTH
EAST
NORTH
WestendersBOXLAYOUTJPanel (BoxLayout)
JButtonJButton
JPanelJButto
nJButton
JPanelJTextField
outerpanelLeft.setLayout(new BoxLayout(outerpanelLeft, BoxLayout.PAGE_AXIS));
outerpanelLeft.add(p1); outerpanelLeft.add(Box.createVerticalStrut(10)); outerpanelLeft.add(p2);
Swing Components 1. JButton
public MovingGUI() {
…
JButton runBut = new JButton("Run");
JButton stopBut = new JButton("Stop");
JPanel buttonPanels = new JPanel();
buttonPanels.add(runBut);
buttonPanels.add(stopBut);
this.add(buttonPanels,BorderLayout.SOUTH);
…
}
JButton Constructor
Event Passing to JComponents
JButton
JPanel
Java Runtime
Operating SystemMouse Device
driver
mouse
JComponent
this.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent event) {
int mods = event.getModifiers();
if( (mods & InputEvent.BUTTON1_MASK) != 0) { // Left mouse pressed
double x = (double)event.getX();
double y = (double)event.getY();
SimpleShape shape = new SimpleShape(x,y,50,100,0.2);
shapeList.add(shape);
}
if( (mods & InputEvent.BUTTON3_MASK) != 0) { // Right Mouse Pressed
}
}});
Action Listeners
ArrayLists
shapeList.add(shape);
private ArrayList shapeList = new ArrayList();
Iterator it = shapeList.iterator();
while(it.hasNext()) { SimpleShape shape = (SimpleShape)it.next(); shape.draw(g); }
Called on Mouse Click
In paintComponent(g)
All In DrawCanvas classDrawCanvas attrib
KleeLinesBase Klee2DLinesBase
KleeLinesLimit